aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlloyd <[email protected]>2009-12-16 00:32:49 +0000
committerlloyd <[email protected]>2009-12-16 00:32:49 +0000
commit87cbaef441c6baba2699a8ea53ac2562c46c772d (patch)
treea61455bcb4de0e0eab34953f7a53a84b512f34d3
parent076afc21c2b775d2658f33086b890255f6f2c70f (diff)
Full working amalgamation build, plus internal-only headers concept.
-rw-r--r--checks/check.cpp2
-rw-r--r--checks/ec_tests.cpp1
-rwxr-xr-xconfigure.py170
-rw-r--r--doc/log.txt1
-rw-r--r--src/algo_factory/algo_factory.cpp2
-rw-r--r--src/algo_factory/info.txt12
-rw-r--r--src/algo_factory/prov_weight.cpp2
-rw-r--r--src/alloc/info.txt6
-rw-r--r--src/alloc/mem_pool/info.txt7
-rw-r--r--src/alloc/system_alloc/info.txt7
-rw-r--r--src/asn1/info.txt7
-rw-r--r--src/benchmark/info.txt7
-rw-r--r--src/block/serpent/serpent.cpp4
-rw-r--r--src/block/serpent_ia32/serp_ia32_imp.S2
-rw-r--r--src/block/serpent_simd/info.txt12
-rw-r--r--src/block/serpent_simd/serp_simd.cpp8
-rw-r--r--src/block/xtea_simd/info.txt7
-rw-r--r--src/block/xtea_simd/xtea_simd.cpp2
-rw-r--r--src/cert/cvc/cvc_gen_cert.h1
-rw-r--r--src/cert/cvc/info.txt29
-rw-r--r--src/cert/x509/info.txt27
-rw-r--r--src/checksum/adler32/info.txt7
-rw-r--r--src/checksum/crc24/info.txt7
-rw-r--r--src/checksum/crc32/info.txt7
-rw-r--r--src/cms/info.txt13
-rw-r--r--src/codec/pem/info.txt7
-rw-r--r--src/constructs/aont/info.txt7
-rw-r--r--src/constructs/cryptobox/info.txt7
-rw-r--r--src/constructs/fpe/info.txt10
-rw-r--r--src/engine/amd64_eng/info.txt5
-rw-r--r--src/engine/def_engine/info.txt9
-rw-r--r--src/engine/gnump/info.txt12
-rw-r--r--src/engine/ia32_eng/info.txt5
-rw-r--r--src/engine/info.txt6
-rw-r--r--src/engine/openssl/info.txt14
-rw-r--r--src/engine/simd_engine/simd_engine.cpp2
-rw-r--r--src/entropy/beos_stats/info.txt8
-rw-r--r--src/entropy/cryptoapi_rng/info.txt8
-rw-r--r--src/entropy/dev_random/dev_random.cpp (renamed from src/entropy/dev_random/es_dev.cpp)2
-rw-r--r--src/entropy/dev_random/dev_random.h (renamed from src/entropy/dev_random/es_dev.h)0
-rw-r--r--src/entropy/dev_random/info.txt10
-rw-r--r--src/entropy/egd/es_egd.cpp2
-rw-r--r--src/entropy/egd/info.txt8
-rw-r--r--src/entropy/hres_timer/hres_timer.cpp2
-rw-r--r--src/entropy/hres_timer/info.txt8
-rw-r--r--src/entropy/info.txt6
-rw-r--r--src/entropy/proc_walk/es_ftw.cpp2
-rw-r--r--src/entropy/proc_walk/info.txt8
-rw-r--r--src/entropy/unix_procs/es_unix.cpp4
-rw-r--r--src/entropy/unix_procs/es_unix.h2
-rw-r--r--src/entropy/unix_procs/info.txt11
-rw-r--r--src/entropy/unix_procs/unix_cmd.cpp2
-rw-r--r--src/entropy/unix_procs/unix_src.cpp2
-rw-r--r--src/entropy/win32_stats/info.txt8
-rw-r--r--src/filters/base64/info.txt8
-rw-r--r--src/filters/hex/info.txt8
-rw-r--r--src/filters/modes/cbc/info.txt7
-rw-r--r--src/filters/modes/cfb/info.txt11
-rw-r--r--src/filters/modes/cts/info.txt11
-rw-r--r--src/filters/modes/eax/info.txt11
-rw-r--r--src/filters/modes/ecb/info.txt8
-rw-r--r--src/filters/modes/info.txt7
-rw-r--r--src/filters/modes/mode_pad/info.txt7
-rw-r--r--src/filters/modes/xts/info.txt12
-rw-r--r--src/filters/pipe.h4
-rw-r--r--src/hash/has160/has160.cpp4
-rw-r--r--src/hash/info.txt6
-rw-r--r--src/hash/md4_ia32/md4_ia32_imp.S2
-rw-r--r--src/hash/md5_ia32/md5_ia32_imp.S2
-rw-r--r--src/hash/rmd128/rmd128.cpp4
-rw-r--r--src/hash/sha1_amd64/sha1_amd64_imp.S2
-rw-r--r--src/hash/sha1_ia32/sha1_ia32_imp.S2
-rw-r--r--src/kdf/info.txt7
-rw-r--r--src/kdf/kdf1/info.txt7
-rw-r--r--src/kdf/kdf2/info.txt7
-rw-r--r--src/kdf/mgf1/info.txt7
-rw-r--r--src/kdf/ssl_prf/info.txt7
-rw-r--r--src/kdf/tls_prf/info.txt8
-rw-r--r--src/kdf/x942_prf/info.txt7
-rw-r--r--src/libstate/info.txt19
-rw-r--r--src/libstate/oid_lookup/info.txt7
-rw-r--r--src/mac/cbc_mac/info.txt7
-rw-r--r--src/mac/cmac/info.txt7
-rw-r--r--src/mac/hmac/info.txt7
-rw-r--r--src/mac/info.txt7
-rw-r--r--src/mac/ssl3mac/info.txt7
-rw-r--r--src/mac/x919_mac/info.txt7
-rw-r--r--src/math/bigint/big_ops2.cpp2
-rw-r--r--src/math/bigint/big_ops3.cpp2
-rw-r--r--src/math/bigint/bigint.cpp2
-rw-r--r--src/math/bigint/divide.cpp2
-rw-r--r--src/math/bigint/info.txt12
-rw-r--r--src/math/bigint/monty_amd64/info.txt4
-rw-r--r--src/math/bigint/monty_amd64/mp_monty.S2
-rw-r--r--src/math/bigint/monty_generic/info.txt4
-rw-r--r--src/math/bigint/monty_generic/mp_monty.cpp6
-rw-r--r--src/math/bigint/mp_amd64/info.txt8
-rw-r--r--src/math/bigint/mp_amd64/mp_asmi.h2
-rw-r--r--src/math/bigint/mp_asm.cpp6
-rw-r--r--src/math/bigint/mp_asm64/info.txt4
-rw-r--r--src/math/bigint/mp_comba.cpp4
-rw-r--r--src/math/bigint/mp_generic/info.txt4
-rw-r--r--src/math/bigint/mp_generic/mp_asmi.h2
-rw-r--r--src/math/bigint/mp_ia32/info.txt8
-rw-r--r--src/math/bigint/mp_ia32/mp_asmi.h2
-rw-r--r--src/math/bigint/mp_ia32_msvc/info.txt4
-rw-r--r--src/math/bigint/mp_ia32_msvc/mp_asmi.h2
-rw-r--r--src/math/bigint/mp_karat.cpp4
-rw-r--r--src/math/bigint/mp_misc.cpp4
-rw-r--r--src/math/bigint/mp_shift.cpp2
-rw-r--r--src/math/bigint/mulop_amd64/info.txt4
-rw-r--r--src/math/bigint/mulop_amd64/mp_mulop.cpp6
-rw-r--r--src/math/bigint/mulop_amd64/mp_mulop_amd64.S2
-rw-r--r--src/math/bigint/mulop_generic/info.txt4
-rw-r--r--src/math/bigint/mulop_generic/mp_mulop.cpp6
-rw-r--r--src/math/bigint/mulop_ia32/info.txt4
-rw-r--r--src/math/bigint/mulop_ia32/mp_mulop.S2
-rw-r--r--src/math/gfpmath/gfp_element.cpp5
-rw-r--r--src/math/gfpmath/info.txt19
-rw-r--r--src/math/numbertheory/info.txt15
-rw-r--r--src/math/numbertheory/mp_numth.cpp2
-rw-r--r--src/math/numbertheory/powm_fw.cpp6
-rw-r--r--src/math/numbertheory/powm_mnt.cpp8
-rw-r--r--src/math/numbertheory/reducer.cpp2
-rw-r--r--src/mutex/info.txt6
-rw-r--r--src/mutex/noop_mutex/info.txt7
-rw-r--r--src/mutex/pthreads/info.txt7
-rw-r--r--src/pbe/info.txt7
-rw-r--r--src/pbe/pbes1/info.txt7
-rw-r--r--src/pbe/pbes2/info.txt7
-rw-r--r--src/pk_pad/eme1/info.txt5
-rw-r--r--src/pk_pad/eme_pkcs/info.txt7
-rw-r--r--src/pk_pad/emsa1/info.txt7
-rw-r--r--src/pk_pad/emsa1_bsi/info.txt7
-rw-r--r--src/pk_pad/emsa2/info.txt7
-rw-r--r--src/pk_pad/emsa3/info.txt7
-rw-r--r--src/pk_pad/emsa4/info.txt7
-rw-r--r--src/pk_pad/emsa_raw/info.txt7
-rw-r--r--src/pk_pad/hash_id/info.txt7
-rw-r--r--src/pk_pad/info.txt6
-rw-r--r--src/pubkey/dh/dh_core.cpp8
-rw-r--r--src/pubkey/dh/info.txt13
-rw-r--r--src/pubkey/dl_algo/info.txt7
-rw-r--r--src/pubkey/dl_group/info.txt7
-rw-r--r--src/pubkey/dlies/info.txt7
-rw-r--r--src/pubkey/dsa/info.txt13
-rw-r--r--src/pubkey/ec_dompar/info.txt7
-rw-r--r--src/pubkey/ecc_key/info.txt7
-rw-r--r--src/pubkey/ecdsa/info.txt11
-rw-r--r--src/pubkey/eckaeg/info.txt11
-rw-r--r--src/pubkey/elgamal/elg_core.cpp8
-rw-r--r--src/pubkey/elgamal/info.txt11
-rw-r--r--src/pubkey/if_algo/if_core.cpp8
-rw-r--r--src/pubkey/if_algo/info.txt13
-rw-r--r--src/pubkey/info.txt2
-rw-r--r--src/pubkey/keypair/info.txt7
-rw-r--r--src/pubkey/nr/info.txt11
-rw-r--r--src/pubkey/pk_codecs/info.txt9
-rw-r--r--src/pubkey/rsa/info.txt7
-rw-r--r--src/pubkey/rw/info.txt7
-rw-r--r--src/rng/auto_rng/auto_rng.cpp20
-rw-r--r--src/rng/auto_rng/info.txt7
-rw-r--r--src/rng/hmac_rng/info.txt7
-rw-r--r--src/rng/info.txt7
-rw-r--r--src/rng/randpool/info.txt7
-rw-r--r--src/rng/x931_rng/info.txt7
-rw-r--r--src/s2k/info.txt7
-rw-r--r--src/s2k/pbkdf1/info.txt7
-rw-r--r--src/s2k/pbkdf2/info.txt7
-rw-r--r--src/s2k/pgps2k/info.txt7
-rw-r--r--src/selftest/info.txt7
-rw-r--r--src/stream/arc4/info.txt11
-rw-r--r--src/stream/ctr/info.txt7
-rw-r--r--src/stream/info.txt6
-rw-r--r--src/stream/ofb/info.txt7
-rw-r--r--src/stream/salsa20/info.txt11
-rw-r--r--src/stream/turing/info.txt12
-rw-r--r--src/stream/wid_wake/info.txt11
-rw-r--r--src/sym_algo/info.txt8
-rw-r--r--src/utils/asm_amd64/info.txt4
-rw-r--r--src/utils/asm_ia32/info.txt4
-rw-r--r--src/utils/buf_comp/info.txt6
-rw-r--r--src/utils/datastor/info.txt7
-rw-r--r--src/utils/info.txt33
-rw-r--r--src/utils/simd_32/info.txt7
-rw-r--r--src/utils/simd_32/simd_32.h6
-rw-r--r--src/utils/simd_32/simd_altivec.h4
-rw-r--r--src/utils/simd_32/simd_sse.h5
188 files changed, 500 insertions, 959 deletions
diff --git a/checks/check.cpp b/checks/check.cpp
index b460d34f7..8b31f354d 100644
--- a/checks/check.cpp
+++ b/checks/check.cpp
@@ -14,7 +14,6 @@
#include <botan/botan.h>
#include <botan/libstate.h>
-#include <botan/mp_types.h>
using namespace Botan;
@@ -82,7 +81,6 @@ void test_types()
passed = passed && test<Botan::u32bit>("u32bit", 32, false);
passed = passed && test<Botan::u64bit>("u64bit", 64, false);
passed = passed && test<Botan::s32bit>("s32bit", 31, true);
- passed = passed && test<Botan::word>("word", 0, false);
if(!passed)
std::cout << "Typedefs in include/types.h may be incorrect!\n";
diff --git a/checks/ec_tests.cpp b/checks/ec_tests.cpp
index 2d25e2153..0420e0ee2 100644
--- a/checks/ec_tests.cpp
+++ b/checks/ec_tests.cpp
@@ -10,7 +10,6 @@ void do_ec_tests(RandomNumberGenerator&) { return; }
#include <botan/bigint.h>
#include <botan/numthry.h>
-#include <botan/mp_types.h>
#include <botan/curve_gfp.h>
#include <botan/point_gfp.h>
#include <botan/gfp_element.h>
diff --git a/configure.py b/configure.py
index 83a0cfcd4..a6adf91ab 100755
--- a/configure.py
+++ b/configure.py
@@ -65,14 +65,12 @@ class BuildConfigurationInformation(object):
self.pyobject_dir = os.path.join(self.build_dir, 'python')
self.include_dir = os.path.join(self.build_dir, 'include')
- self.full_include_dir = os.path.join(self.include_dir, 'botan')
+ self.botan_include_dir = os.path.join(self.include_dir, 'botan')
+ self.internal_include_dir = os.path.join(self.botan_include_dir, 'internal')
- all_files = flatten([mod.add for mod in modules])
-
- self.headers = sorted(
- [file for file in all_files if file.endswith('.h')])
-
- self.sources = sorted(set(all_files) - set(self.headers))
+ self.sources = sorted(flatten([mod.sources() for mod in modules]))
+ self.public_headers = sorted(flatten([m.public_headers() for m in modules]))
+ self.internal_headers = sorted(flatten([m.internal_headers() for m in modules]))
checks_dir = os.path.join(options.base_dir, 'checks')
@@ -104,7 +102,8 @@ class BuildConfigurationInformation(object):
def build_dirs(self):
dirs = [self.checkobj_dir,
self.libobj_dir,
- self.full_include_dir]
+ self.botan_include_dir,
+ self.internal_include_dir]
if self.use_boost_python:
dirs.append(self.pyobject_dir)
return dirs
@@ -179,7 +178,7 @@ def process_command_line(args):
build_group.add_option('--gen-amalgamation', dest='gen_amalgamation',
default=False, action='store_true',
- help=SUPPRESS_HELP)
+ help='generate amalgamation files')
build_group.add_option('--with-tr1-implementation', metavar='WHICH',
dest='with_tr1', default=None,
@@ -298,6 +297,10 @@ Generic lexer function for info.txt and src/build-data files
"""
def lex_me_harder(infofile, to_obj, allowed_groups, name_val_pairs):
+ # Format as a nameable Python variable
+ def py_var(group):
+ return group.replace(':', '_')
+
class LexerError(Exception):
def __init__(self, msg, line):
self.msg = msg
@@ -322,7 +325,7 @@ def lex_me_harder(infofile, to_obj, allowed_groups, name_val_pairs):
lexer.wordchars += '|:.<>/,-!+' # handle various funky chars in info.txt
for group in allowed_groups:
- to_obj.__dict__[group] = []
+ to_obj.__dict__[py_var(group)] = []
for (key,val) in name_val_pairs.items():
to_obj.__dict__[key] = val
@@ -347,7 +350,7 @@ def lex_me_harder(infofile, to_obj, allowed_groups, name_val_pairs):
token = lexer.get_token()
while token != end_marker:
- to_obj.__dict__[group].append(token)
+ to_obj.__dict__[py_var(group)].append(token)
token = lexer.get_token()
if token is None:
raise LexerError('Group "%s" not terminated' % (group),
@@ -371,21 +374,29 @@ class ModuleInfo(object):
def __init__(self, infofile):
lex_me_harder(infofile, self,
- ['add', 'requires', 'os', 'arch', 'cc', 'libs'],
+ ['source', 'header:internal', 'header:public',
+ 'requires', 'os', 'arch', 'cc', 'libs'],
{ 'load_on': 'auto',
'define': None,
'uses_tr1': 'false',
'need_isa': None,
'mp_bits': 0 })
- if self.add == []:
+ if self.source == [] and \
+ self.header_internal == [] and \
+ self.header_public == []:
+
for (dirpath, dirnames, filenames) in os.walk(self.lives_in):
if dirpath == self.lives_in:
- self.add = [filename for filename in filenames
- if (filename.endswith('.cpp') or
- filename.endswith('.h') or
- filename.endswith('.S'))
- and not filename.startswith('.')]
+ for filename in filenames:
+ if filename.startswith('.'):
+ continue
+
+ if filename.endswith('.cpp') or \
+ filename.endswith('.S'):
+ self.source.append(filename)
+ elif filename.endswith('.h'):
+ self.header_public.append(filename)
# Coerce to more useful types
def convert_lib_list(l):
@@ -409,7 +420,12 @@ class ModuleInfo(object):
return os.path.join(os.path.split(self.lives_in)[0],
*filename.split(':'))
- self.add = map(add_dir_name, self.add)
+ self.source = map(add_dir_name, self.source)
+ self.header_internal = map(add_dir_name, self.header_internal)
+ self.header_public = map(add_dir_name, self.header_public)
+
+ if len([f for f in self.source if f.endswith('h')]) > 0:
+ print self.lives_in
self.mp_bits = int(self.mp_bits)
@@ -418,6 +434,15 @@ class ModuleInfo(object):
else:
self.uses_tr1 = False
+ def sources(self):
+ return self.source
+
+ def public_headers(self):
+ return self.header_public
+
+ def internal_headers(self):
+ return self.header_internal
+
def compatible_cpu(self, archinfo, options):
arch_name = archinfo.basename
@@ -883,7 +908,7 @@ def create_template_vars(build_config, options, modules, cc, arch, osinfo):
'target_cpu_defines': make_cpp_macros(arch.defines(options)),
- 'include_files': makefile_list(build_config.headers),
+ 'include_files': makefile_list(build_config.public_headers),
'lib_objs': makefile_list(
objectfile_list(build_config.sources,
@@ -1165,16 +1190,22 @@ def setup_build(build_config, options, template_vars):
finally:
f.close()
- logging.debug('Linking %d header files in %s' % (
- len(build_config.headers), build_config.full_include_dir))
+ logging.debug('Linking %d public header files in %s' % (
+ len(build_config.public_headers), build_config.botan_include_dir))
+
+ for header_file in build_config.public_headers:
+ portable_symlink(header_file, build_config.botan_include_dir)
- for header_file in build_config.headers:
- portable_symlink(header_file, build_config.full_include_dir)
+ logging.debug('Linking %d internal header files in %s' % (
+ len(build_config.internal_headers), build_config.internal_include_dir))
+
+ for header_file in build_config.internal_headers:
+ portable_symlink(header_file, build_config.internal_include_dir)
"""
Generate Amalgamation
"""
-def generate_amalgamation(build_config, options, modules):
+def generate_amalgamation(build_config):
def ending_with_suffix(suffix):
def predicate(val):
return val.endswith(suffix)
@@ -1200,69 +1231,94 @@ def generate_amalgamation(build_config, options, modules):
return contents
- header_bits = {}
+ botan_include = re.compile('#include <botan/(.*)>$')
+ std_include = re.compile('#include <([^/\.]+)>$')
- for header in sorted(filter(ending_with_suffix('.h'),
- flatten([m.add for m in modules]))):
- contents = open(header).readlines()
- header_bits[os.path.basename(header)] = contents
+ class Amalgamation_Generator:
+ def __init__(self, input_list):
- header_bits['build.h'] = open('build/build.h').readlines()
+ self.included_already = set()
+ self.all_std_includes = set()
- for (name, contents) in header_bits.items():
- header_bits[name] = strip_header_goop(contents)
+ self.file_contents = {}
+ for f in sorted(input_list):
+ contents = strip_header_goop(open(f).readlines())
+ self.file_contents[os.path.basename(f)] = contents
+ self.contents = ''
+ for name in self.file_contents:
+ self.contents += ''.join(list(self.header_contents(name)))
- included_already = set()
- all_std_includes = set()
+ self.header_includes = ''
+ for std_header in self.all_std_includes:
+ self.header_includes += '#include <%s>\n' % (std_header)
+ self.header_includes += '\n'
- botan_include = re.compile('^#include <botan/(.*)>$')
- std_include = re.compile('#include <([^/]+)>$')
+ def header_contents(self, name):
+ if name in self.included_already:
+ return
- def header_contents(name):
- if name not in included_already:
- included_already.add(name)
+ self.included_already.add(name)
- contents = header_bits[name]
+ if name not in self.file_contents:
+ return
- for line in contents:
+ for line in self.file_contents[name]:
match = botan_include.search(line)
if match:
- for c in header_contents(match.group(1)):
+ for c in self.header_contents(match.group(1)):
yield c
else:
match = std_include.search(line)
if match:
- all_std_includes.add(match.group(1))
+ self.all_std_includes.add(match.group(1))
else:
yield line
- return
botan_all_h = open('botan_all.h', 'w')
+ pub_header_amalag = Amalgamation_Generator(build_config.public_headers)
- final_contents = ''
- for name in header_bits:
- final_contents += ''.join(list(header_contents(name)))
-
- botan_all_h.write("""/*
-* Botan Amalgamation
+ amalg_header = """/*
+* Botan %s Amalgamation
* (C) 1999-2009 Jack Lloyd and others
*
* Distributed under the terms of the Botan license
*/
+""" % (build_config.version_string)
+
+ botan_all_h.write(amalg_header)
+ botan_all_h.write("""
#ifndef BOTAN_AMALGAMATION_H__
#define BOTAN_AMALGAMATION_H__
""")
- for std_header in all_std_includes:
- botan_all_h.write('#include <%s>\n' % (std_header))
- botan_all_h.write('\n')
+ botan_all_h.write(pub_header_amalag.header_includes)
+ botan_all_h.write(pub_header_amalag.contents)
+ botan_all_h.write("\n#endif\n")
+
+ internal_header_amalag = Amalgamation_Generator(build_config.internal_headers)
+
+ botan_all_cpp = open('botan_all.cpp', 'w')
+
+ botan_all_cpp.write(amalg_header)
+
+ botan_all_cpp.write('#include "botan_all.h"\n')
+
+ botan_all_cpp.write(internal_header_amalag.header_includes)
+ botan_all_cpp.write(internal_header_amalag.contents)
+
+ for src in build_config.sources:
+ contents = open(src).readlines()
+ for line in contents:
+ if botan_include.search(line):
+ continue
+ else:
+ botan_all_cpp.write(line)
- botan_all_h.write(final_contents)
"""
Main driver
@@ -1371,7 +1427,7 @@ def main(argv = None):
options)
build_config = BuildConfigurationInformation(options, modules_to_use)
- build_config.headers.append(
+ build_config.public_headers.append(
os.path.join(build_config.build_dir, 'build.h'))
template_vars = create_template_vars(build_config, options,
@@ -1384,7 +1440,7 @@ def main(argv = None):
setup_build(build_config, options, template_vars)
if options.gen_amalgamation:
- generate_amalgamation(build_config, options, modules_to_use)
+ generate_amalgamation(build_config)
logging.info('Botan %s build setup is complete' % (
build_config.version_string))
diff --git a/doc/log.txt b/doc/log.txt
index c0c87028c..9250a0257 100644
--- a/doc/log.txt
+++ b/doc/log.txt
@@ -1,5 +1,6 @@
* 1.9.4-dev, ????-??-??
+ - New option --gen-amalgamation for creating a SQLite-style amalgamation
- Greatly improve the Win32 installer
- Several fixes for Visual C++ debug builds
diff --git a/src/algo_factory/algo_factory.cpp b/src/algo_factory/algo_factory.cpp
index 22915d97c..f1c2ae3a0 100644
--- a/src/algo_factory/algo_factory.cpp
+++ b/src/algo_factory/algo_factory.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/algo_factory.h>
-#include <botan/algo_cache.h>
+#include <botan/internal/algo_cache.h>
#include <botan/stl_util.h>
#include <botan/engine.h>
#include <botan/exceptn.h>
diff --git a/src/algo_factory/info.txt b/src/algo_factory/info.txt
index 4b25c7fc5..eae4b3934 100644
--- a/src/algo_factory/info.txt
+++ b/src/algo_factory/info.txt
@@ -2,12 +2,18 @@ load_on auto
define ALGORITHM_FACTORY
-<add>
-algo_factory.cpp
+<header:public>
algo_factory.h
+</header:public>
+
+<header:internal>
algo_cache.h
+</header:internal>
+
+<source>
+algo_factory.cpp
prov_weight.cpp
-</add>
+</source>
<requires>
block
diff --git a/src/algo_factory/prov_weight.cpp b/src/algo_factory/prov_weight.cpp
index d7e84a323..c7c2d8d8d 100644
--- a/src/algo_factory/prov_weight.cpp
+++ b/src/algo_factory/prov_weight.cpp
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/algo_cache.h>
+#include <botan/internal/algo_cache.h>
namespace Botan {
diff --git a/src/alloc/info.txt b/src/alloc/info.txt
index 99dbe3a4d..40e7bacdf 100644
--- a/src/alloc/info.txt
+++ b/src/alloc/info.txt
@@ -1,6 +1,4 @@
-load_on auto
-
-<add>
+<header:public>
allocate.h
secmem.h
-</add>
+</header:public>
diff --git a/src/alloc/mem_pool/info.txt b/src/alloc/mem_pool/info.txt
index 73a548292..6cb221834 100644
--- a/src/alloc/mem_pool/info.txt
+++ b/src/alloc/mem_pool/info.txt
@@ -1,10 +1,3 @@
-load_on auto
-
-<add>
-mem_pool.cpp
-mem_pool.h
-</add>
-
<requires>
mutex
</requires>
diff --git a/src/alloc/system_alloc/info.txt b/src/alloc/system_alloc/info.txt
index 8b9a2f067..8826440d4 100644
--- a/src/alloc/system_alloc/info.txt
+++ b/src/alloc/system_alloc/info.txt
@@ -1,10 +1,3 @@
-load_on auto
-
-<add>
-defalloc.cpp
-defalloc.h
-</add>
-
<requires>
libstate
mem_pool
diff --git a/src/asn1/info.txt b/src/asn1/info.txt
index d836b4c0b..7ed025e68 100644
--- a/src/asn1/info.txt
+++ b/src/asn1/info.txt
@@ -2,7 +2,7 @@ define ASN1
load_on auto
-<add>
+<source>
alg_id.cpp
asn1_alt.cpp
asn1_att.cpp
@@ -13,13 +13,16 @@ asn1_str.cpp
asn1_tm.cpp
ber_dec.cpp
der_enc.cpp
+</source>
+
+<header:public>
alg_id.h
asn1_int.h
asn1_obj.h
asn1_oid.h
ber_dec.h
der_enc.h
-</add>
+</header:public>
<requires>
alloc
diff --git a/src/benchmark/info.txt b/src/benchmark/info.txt
index 0210971f7..3a817435a 100644
--- a/src/benchmark/info.txt
+++ b/src/benchmark/info.txt
@@ -1,12 +1,5 @@
define RUNTIME_BENCHMARKING
-load_on auto
-
-<add>
-benchmark.cpp
-benchmark.h
-</add>
-
<requires>
algo_factory
block
diff --git a/src/block/serpent/serpent.cpp b/src/block/serpent/serpent.cpp
index 2fa27308f..e16afc89c 100644
--- a/src/block/serpent/serpent.cpp
+++ b/src/block/serpent/serpent.cpp
@@ -344,6 +344,10 @@ void Serpent::decrypt_n(const byte in[], byte out[], u32bit blocks) const
}
}
+#undef key_xor
+#undef transform
+#undef i_transform
+
/*
* Serpent Key Schedule
*/
diff --git a/src/block/serpent_ia32/serp_ia32_imp.S b/src/block/serpent_ia32/serp_ia32_imp.S
index 8b4a79937..768192061 100644
--- a/src/block/serpent_ia32/serp_ia32_imp.S
+++ b/src/block/serpent_ia32/serp_ia32_imp.S
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/asm_macr_ia32.h>
+#include <botan/internal/asm_macr_ia32.h>
START_LISTING(serp_ia32.S)
diff --git a/src/block/serpent_simd/info.txt b/src/block/serpent_simd/info.txt
index d65b41235..b3bf34972 100644
--- a/src/block/serpent_simd/info.txt
+++ b/src/block/serpent_simd/info.txt
@@ -5,3 +5,15 @@ serpent
simd_32
simd_engine
</requires>
+
+<source>
+serp_simd.cpp
+</source>
+
+<header:public>
+serp_simd.h
+</header:public>
+
+<header:internal>
+serp_simd_sbox.h
+</header:internal>
diff --git a/src/block/serpent_simd/serp_simd.cpp b/src/block/serpent_simd/serp_simd.cpp
index b394b0c26..0a535c9a0 100644
--- a/src/block/serpent_simd/serp_simd.cpp
+++ b/src/block/serpent_simd/serp_simd.cpp
@@ -6,8 +6,8 @@
*/
#include <botan/serp_simd.h>
-#include <botan/serp_simd_sbox.h>
-#include <botan/simd_32.h>
+#include <botan/internal/serp_simd_sbox.h>
+#include <botan/internal/simd_32.h>
#include <botan/loadstor.h>
namespace Botan {
@@ -171,6 +171,10 @@ void serpent_decrypt_4(const byte in[64],
}
+#undef key_xor
+#undef transform
+#undef i_transform
+
/*
* Serpent Encryption
*/
diff --git a/src/block/xtea_simd/info.txt b/src/block/xtea_simd/info.txt
index 98a6e941f..5a8445b35 100644
--- a/src/block/xtea_simd/info.txt
+++ b/src/block/xtea_simd/info.txt
@@ -1,12 +1,5 @@
define XTEA_SIMD
-load_on auto
-
-<add>
-xtea_simd.cpp
-xtea_simd.h
-</add>
-
<requires>
xtea
simd_32
diff --git a/src/block/xtea_simd/xtea_simd.cpp b/src/block/xtea_simd/xtea_simd.cpp
index 6151c355c..264d4f949 100644
--- a/src/block/xtea_simd/xtea_simd.cpp
+++ b/src/block/xtea_simd/xtea_simd.cpp
@@ -7,7 +7,7 @@
#include <botan/xtea_simd.h>
#include <botan/loadstor.h>
-#include <botan/simd_32.h>
+#include <botan/internal/simd_32.h>
namespace Botan {
diff --git a/src/cert/cvc/cvc_gen_cert.h b/src/cert/cvc/cvc_gen_cert.h
index 4a788026c..797970e29 100644
--- a/src/cert/cvc/cvc_gen_cert.h
+++ b/src/cert/cvc/cvc_gen_cert.h
@@ -13,6 +13,7 @@
#include <botan/eac_asn_obj.h>
#include <botan/pubkey_enums.h>
#include <botan/pubkey.h>
+#include <botan/ecdsa.h>
#include <botan/ecdsa_sig.h>
#include <string>
#include <assert.h>
diff --git a/src/cert/cvc/info.txt b/src/cert/cvc/info.txt
index bdd496614..2033b9576 100644
--- a/src/cert/cvc/info.txt
+++ b/src/cert/cvc/info.txt
@@ -4,29 +4,32 @@ uses_tr1 yes
load_on auto
-<add>
-asn1_eac_str.cpp
-asn1_eac_tm.cpp
-ecdsa_sig.cpp
-ecdsa_sig.h
-cvc_ado.cpp
+<header:public>
cvc_ado.h
-cvc_ca.cpp
cvc_ca.h
-cvc_cert.cpp
cvc_cert.h
cvc_gen_cert.h
cvc_key.h
-cvc_req.cpp
cvc_req.h
-cvc_self.cpp
cvc_self.h
eac_asn_obj.h
eac_obj.h
-signed_obj.cpp
-signed_obj.h
+ecdsa_sig.h
freestore.h
-</add>
+signed_obj.h
+</header:public>
+
+<source>
+asn1_eac_str.cpp
+asn1_eac_tm.cpp
+ecdsa_sig.cpp
+cvc_ado.cpp
+cvc_ca.cpp
+cvc_cert.cpp
+cvc_req.cpp
+cvc_self.cpp
+signed_obj.cpp
+</source>
<requires>
asn1
diff --git a/src/cert/x509/info.txt b/src/cert/x509/info.txt
index 37faea9fa..a5cd973a4 100644
--- a/src/cert/x509/info.txt
+++ b/src/cert/x509/info.txt
@@ -2,31 +2,34 @@ define X509
load_on auto
-<add>
+<header:public>
certstor.h
-certstor.cpp
-crl_ent.cpp
crl_ent.h
pkcs10.h
+x509_ca.h
+x509_crl.h
+x509_ext.h
+x509_obj.h
+x509cert.h
+x509find.h
+x509self.h
+x509stor.h
+</header:public>
+
+<source>
+certstor.cpp
+crl_ent.cpp
pkcs10.cpp
x509_ca.cpp
-x509_ca.h
x509_crl.cpp
-x509_crl.h
x509_ext.cpp
-x509_ext.h
x509_obj.cpp
-x509_obj.h
x509cert.cpp
-x509cert.h
x509find.cpp
-x509find.h
x509opt.cpp
x509self.cpp
-x509self.h
x509stor.cpp
-x509stor.h
-</add>
+</source>
<requires>
asn1
diff --git a/src/checksum/adler32/info.txt b/src/checksum/adler32/info.txt
index 53bc66354..a25c792d3 100644
--- a/src/checksum/adler32/info.txt
+++ b/src/checksum/adler32/info.txt
@@ -1,12 +1,5 @@
define ADLER32
-load_on auto
-
-<add>
-adler32.cpp
-adler32.h
-</add>
-
<requires>
hash
</requires>
diff --git a/src/checksum/crc24/info.txt b/src/checksum/crc24/info.txt
index 8c61aa58b..2c2dbc782 100644
--- a/src/checksum/crc24/info.txt
+++ b/src/checksum/crc24/info.txt
@@ -1,12 +1,5 @@
define CRC24
-load_on auto
-
-<add>
-crc24.cpp
-crc24.h
-</add>
-
<requires>
hash
</requires>
diff --git a/src/checksum/crc32/info.txt b/src/checksum/crc32/info.txt
index d86848cf4..590092ede 100644
--- a/src/checksum/crc32/info.txt
+++ b/src/checksum/crc32/info.txt
@@ -1,12 +1,5 @@
define CRC32
-load_on auto
-
-<add>
-crc32.cpp
-crc32.h
-</add>
-
<requires>
hash
</requires>
diff --git a/src/cms/info.txt b/src/cms/info.txt
index 55d559f83..44c5811f8 100644
--- a/src/cms/info.txt
+++ b/src/cms/info.txt
@@ -1,18 +1,5 @@
define CMS
-load_on auto
-
-<add>
-cms_algo.cpp
-cms_comp.cpp
-cms_dalg.cpp
-cms_dec.cpp
-cms_dec.h
-cms_ealg.cpp
-cms_enc.cpp
-cms_enc.h
-</add>
-
<requires>
asn1
bigint
diff --git a/src/codec/pem/info.txt b/src/codec/pem/info.txt
index 5544e1bb0..88f36594c 100644
--- a/src/codec/pem/info.txt
+++ b/src/codec/pem/info.txt
@@ -1,12 +1,5 @@
define PEM_CODEC
-load_on auto
-
-<add>
-pem.cpp
-pem.h
-</add>
-
<requires>
base64
filters
diff --git a/src/constructs/aont/info.txt b/src/constructs/aont/info.txt
index 533b70eb5..ebd54fc11 100644
--- a/src/constructs/aont/info.txt
+++ b/src/constructs/aont/info.txt
@@ -1,12 +1,5 @@
define PACKAGE_TRANSFORM
-load_on auto
-
-<add>
-package.cpp
-package.h
-</add>
-
<requires>
block
ctr
diff --git a/src/constructs/cryptobox/info.txt b/src/constructs/cryptobox/info.txt
index 0780f55aa..3521c32d0 100644
--- a/src/constructs/cryptobox/info.txt
+++ b/src/constructs/cryptobox/info.txt
@@ -1,12 +1,5 @@
-load_on auto
-
define CRYPTO_BOX
-<add>
-cryptobox.h
-cryptobox.cpp
-</add>
-
<requires>
filters
ctr
diff --git a/src/constructs/fpe/info.txt b/src/constructs/fpe/info.txt
index f7a8c4ae4..15965cff5 100644
--- a/src/constructs/fpe/info.txt
+++ b/src/constructs/fpe/info.txt
@@ -1,13 +1,7 @@
define FORMAT_PRESERVING_ENCRYPTION
-load_on auto
-
-<add>
-fpe.cpp
-fpe.h
-</add>
-
<requires>
-cbc_mac
+hmac
+sha2
bigint
</requires>
diff --git a/src/engine/amd64_eng/info.txt b/src/engine/amd64_eng/info.txt
index 03baf76ee..2ae2aaad0 100644
--- a/src/engine/amd64_eng/info.txt
+++ b/src/engine/amd64_eng/info.txt
@@ -1,8 +1,3 @@
define ENGINE_AMD64_ASSEMBLER
load_on dep
-
-<add>
-eng_amd64.cpp
-eng_amd64.h
-</add>
diff --git a/src/engine/def_engine/info.txt b/src/engine/def_engine/info.txt
index e307fbf8e..74b4d3f9b 100644
--- a/src/engine/def_engine/info.txt
+++ b/src/engine/def_engine/info.txt
@@ -1,9 +1,10 @@
define DEFAULT_ENGINE
-load_on auto
-
-<add>
+<header:public>
def_eng.h
+</header:public>
+
+<source>
def_mode.cpp
def_pk_ops.cpp
def_powm.cpp
@@ -11,7 +12,7 @@ lookup_block.cpp
lookup_hash.cpp
lookup_mac.cpp
lookup_stream.cpp
-</add>
+</source>
<requires>
algo_factory
diff --git a/src/engine/gnump/info.txt b/src/engine/gnump/info.txt
index 0805c1ba8..9566bded2 100644
--- a/src/engine/gnump/info.txt
+++ b/src/engine/gnump/info.txt
@@ -6,8 +6,15 @@ load_on request
all -> gmp
</libs>
-<add>
+<header:public>
eng_gmp.h
+</header:public>
+
+<header:internal>
+gmp_wrap.h
+</header:internal>
+
+<source>
gmp_dh.cpp
gmp_dsa.cpp
gmp_elg.cpp
@@ -16,8 +23,7 @@ gmp_mem.cpp
gmp_nr.cpp
gmp_powm.cpp
gmp_wrap.cpp
-gmp_wrap.h
-</add>
+</source>
<requires>
bigint
diff --git a/src/engine/ia32_eng/info.txt b/src/engine/ia32_eng/info.txt
index 98fd1f2cc..d2106c555 100644
--- a/src/engine/ia32_eng/info.txt
+++ b/src/engine/ia32_eng/info.txt
@@ -1,8 +1,3 @@
define ENGINE_IA32_ASSEMBLER
load_on dep
-
-<add>
-eng_ia32.cpp
-eng_ia32.h
-</add>
diff --git a/src/engine/info.txt b/src/engine/info.txt
index dcb26d9d6..b270edaa5 100644
--- a/src/engine/info.txt
+++ b/src/engine/info.txt
@@ -1,10 +1,8 @@
define ENGINES
-load_on auto
-
-<add>
+<header:public>
engine.h
-</add>
+</header:public>
<requires>
block
diff --git a/src/engine/openssl/info.txt b/src/engine/openssl/info.txt
index 9f8c84b31..d30e76293 100644
--- a/src/engine/openssl/info.txt
+++ b/src/engine/openssl/info.txt
@@ -6,12 +6,18 @@ load_on request
all -> crypto
</libs>
-<add>
+<header:public>
+eng_ossl.h
+</header:public>
+
+<header:internal>
+bn_wrap.h
+</header:internal>
+
+<source>
arc4_openssl.cpp
bn_powm.cpp
bn_wrap.cpp
-bn_wrap.h
-eng_ossl.h
ossl_bc.cpp
ossl_dh.cpp
ossl_dsa.cpp
@@ -19,7 +25,7 @@ ossl_elg.cpp
ossl_if.cpp
ossl_md.cpp
ossl_nr.cpp
-</add>
+</source>
<requires>
bigint
diff --git a/src/engine/simd_engine/simd_engine.cpp b/src/engine/simd_engine/simd_engine.cpp
index fdb1644d0..60ff8ba1d 100644
--- a/src/engine/simd_engine/simd_engine.cpp
+++ b/src/engine/simd_engine/simd_engine.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/simd_engine.h>
-#include <botan/simd_32.h>
+#include <botan/internal/simd_32.h>
#include <botan/cpuid.h>
#if defined(BOTAN_HAS_SERPENT_SIMD)
diff --git a/src/entropy/beos_stats/info.txt b/src/entropy/beos_stats/info.txt
index 26c3feb75..088b926f9 100644
--- a/src/entropy/beos_stats/info.txt
+++ b/src/entropy/beos_stats/info.txt
@@ -1,6 +1,12 @@
define ENTROPY_SRC_BEOS
-load_on auto
+<source>
+es_beos.cpp
+</source>
+
+<header:internal>
+es_beos.h
+</header:internal>
<os>
beos
diff --git a/src/entropy/cryptoapi_rng/info.txt b/src/entropy/cryptoapi_rng/info.txt
index a07892971..800e9ee52 100644
--- a/src/entropy/cryptoapi_rng/info.txt
+++ b/src/entropy/cryptoapi_rng/info.txt
@@ -1,6 +1,12 @@
define ENTROPY_SRC_CAPI
-load_on auto
+<source>
+es_capi.cpp
+</source>
+
+<header:internal>
+es_capi.h
+</header:internal>
# We'll just assume CAPI is there; this is OK except for 3.x, early
# versions of 95, and maybe NT 3.5
diff --git a/src/entropy/dev_random/es_dev.cpp b/src/entropy/dev_random/dev_random.cpp
index ef3074194..d0babfd1e 100644
--- a/src/entropy/dev_random/es_dev.cpp
+++ b/src/entropy/dev_random/dev_random.cpp
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/es_dev.h>
+#include <botan/internal/dev_random.h>
#include <sys/types.h>
#include <sys/select.h>
diff --git a/src/entropy/dev_random/es_dev.h b/src/entropy/dev_random/dev_random.h
index df9dbe1c1..df9dbe1c1 100644
--- a/src/entropy/dev_random/es_dev.h
+++ b/src/entropy/dev_random/dev_random.h
diff --git a/src/entropy/dev_random/info.txt b/src/entropy/dev_random/info.txt
index 2907d4178..cabb47ea2 100644
--- a/src/entropy/dev_random/info.txt
+++ b/src/entropy/dev_random/info.txt
@@ -1,6 +1,12 @@
-define ENTROPY_SRC_DEVICE
+define ENTROPY_SRC_DEV_RANDOM
-load_on auto
+<source>
+dev_random.cpp
+</source>
+
+<header:internal>
+dev_random.h
+</header:internal>
<os>
aix
diff --git a/src/entropy/egd/es_egd.cpp b/src/entropy/egd/es_egd.cpp
index 9e37f8f17..bd8dc8590 100644
--- a/src/entropy/egd/es_egd.cpp
+++ b/src/entropy/egd/es_egd.cpp
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/es_egd.h>
+#include <botan/internal/es_egd.h>
#include <botan/parsing.h>
#include <botan/exceptn.h>
#include <cstring>
diff --git a/src/entropy/egd/info.txt b/src/entropy/egd/info.txt
index be6380fc9..25117ed09 100644
--- a/src/entropy/egd/info.txt
+++ b/src/entropy/egd/info.txt
@@ -1,6 +1,12 @@
define ENTROPY_SRC_EGD
-load_on auto
+<source>
+es_egd.cpp
+</source>
+
+<header:internal>
+es_egd.h
+</header:internal>
<libs>
solaris -> socket
diff --git a/src/entropy/hres_timer/hres_timer.cpp b/src/entropy/hres_timer/hres_timer.cpp
index 74ea801c4..73282d8d2 100644
--- a/src/entropy/hres_timer/hres_timer.cpp
+++ b/src/entropy/hres_timer/hres_timer.cpp
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/hres_timer.h>
+#include <botan/internal/hres_timer.h>
#include <botan/cpuid.h>
#include <botan/time.h>
diff --git a/src/entropy/hres_timer/info.txt b/src/entropy/hres_timer/info.txt
index 6c6454f5d..6e542aac8 100644
--- a/src/entropy/hres_timer/info.txt
+++ b/src/entropy/hres_timer/info.txt
@@ -1 +1,9 @@
define ENTROPY_SRC_HIGH_RESOLUTION_TIMER
+
+<source>
+hres_timer.cpp
+</source>
+
+<header:internal>
+hres_timer.h
+</header:internal>
diff --git a/src/entropy/info.txt b/src/entropy/info.txt
index 5f3d39dd5..a048df7d9 100644
--- a/src/entropy/info.txt
+++ b/src/entropy/info.txt
@@ -1,9 +1,3 @@
-load_on auto
-
-<add>
-entropy_src.h
-</add>
-
<requires>
buf_comp
</requires>
diff --git a/src/entropy/proc_walk/es_ftw.cpp b/src/entropy/proc_walk/es_ftw.cpp
index 2016f099a..5e2b17860 100644
--- a/src/entropy/proc_walk/es_ftw.cpp
+++ b/src/entropy/proc_walk/es_ftw.cpp
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/es_ftw.h>
+#include <botan/internal/es_ftw.h>
#include <botan/secmem.h>
#include <cstring>
#include <deque>
diff --git a/src/entropy/proc_walk/info.txt b/src/entropy/proc_walk/info.txt
index 50b67980a..fd65d8ffe 100644
--- a/src/entropy/proc_walk/info.txt
+++ b/src/entropy/proc_walk/info.txt
@@ -1,6 +1,12 @@
define ENTROPY_SRC_FTW
-load_on auto
+<source>
+es_ftw.cpp
+</source>
+
+<header:internal>
+es_ftw.h
+</header:internal>
<os>
aix
diff --git a/src/entropy/unix_procs/es_unix.cpp b/src/entropy/unix_procs/es_unix.cpp
index fc5b026a4..039479308 100644
--- a/src/entropy/unix_procs/es_unix.cpp
+++ b/src/entropy/unix_procs/es_unix.cpp
@@ -5,8 +5,8 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/es_unix.h>
-#include <botan/unix_cmd.h>
+#include <botan/internal/es_unix.h>
+#include <botan/internal/unix_cmd.h>
#include <botan/parsing.h>
#include <algorithm>
#include <sys/time.h>
diff --git a/src/entropy/unix_procs/es_unix.h b/src/entropy/unix_procs/es_unix.h
index 1f8abb784..283405e19 100644
--- a/src/entropy/unix_procs/es_unix.h
+++ b/src/entropy/unix_procs/es_unix.h
@@ -9,7 +9,7 @@
#define BOTAN_ENTROPY_SRC_UNIX_H__
#include <botan/entropy_src.h>
-#include <botan/unix_cmd.h>
+#include <botan/internal/unix_cmd.h>
#include <vector>
namespace Botan {
diff --git a/src/entropy/unix_procs/info.txt b/src/entropy/unix_procs/info.txt
index 529b56966..2100584e4 100644
--- a/src/entropy/unix_procs/info.txt
+++ b/src/entropy/unix_procs/info.txt
@@ -1,6 +1,15 @@
define ENTROPY_SRC_UNIX
-load_on auto
+<source>
+es_unix.cpp
+unix_cmd.cpp
+unix_src.cpp
+</source>
+
+<header:internal>
+es_unix.h
+unix_cmd.h
+</header:internal>
<os>
aix
diff --git a/src/entropy/unix_procs/unix_cmd.cpp b/src/entropy/unix_procs/unix_cmd.cpp
index 1cae07e26..34e7c314a 100644
--- a/src/entropy/unix_procs/unix_cmd.cpp
+++ b/src/entropy/unix_procs/unix_cmd.cpp
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/unix_cmd.h>
+#include <botan/internal/unix_cmd.h>
#include <botan/parsing.h>
#include <botan/exceptn.h>
diff --git a/src/entropy/unix_procs/unix_src.cpp b/src/entropy/unix_procs/unix_src.cpp
index c843af6c2..a72ecf055 100644
--- a/src/entropy/unix_procs/unix_src.cpp
+++ b/src/entropy/unix_procs/unix_src.cpp
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/es_unix.h>
+#include <botan/internal/es_unix.h>
namespace Botan {
diff --git a/src/entropy/win32_stats/info.txt b/src/entropy/win32_stats/info.txt
index 3af05d502..0972df898 100644
--- a/src/entropy/win32_stats/info.txt
+++ b/src/entropy/win32_stats/info.txt
@@ -1,6 +1,12 @@
define ENTROPY_SRC_WIN32
-load_on auto
+<source>
+es_win32.cpp
+</source>
+
+<header:internal>
+es_win32.h
+</header:internal>
<os>
windows
diff --git a/src/filters/base64/info.txt b/src/filters/base64/info.txt
index 1d36b948e..93671739d 100644
--- a/src/filters/base64/info.txt
+++ b/src/filters/base64/info.txt
@@ -1,13 +1,5 @@
define BASE64_CODEC
-load_on auto
-
-<add>
-base64.cpp
-b64_char.cpp
-base64.h
-</add>
-
<requires>
filters
</requires>
diff --git a/src/filters/hex/info.txt b/src/filters/hex/info.txt
index 817ff1a00..0a4205669 100644
--- a/src/filters/hex/info.txt
+++ b/src/filters/hex/info.txt
@@ -1,13 +1,5 @@
define HEX_CODEC
-load_on auto
-
-<add>
-hex.cpp
-hex_char.cpp
-hex.h
-</add>
-
<requires>
filters
</requires>
diff --git a/src/filters/modes/cbc/info.txt b/src/filters/modes/cbc/info.txt
index 9b4be1b58..92a39d674 100644
--- a/src/filters/modes/cbc/info.txt
+++ b/src/filters/modes/cbc/info.txt
@@ -1,12 +1,5 @@
define CBC
-load_on auto
-
-<add>
-cbc.cpp
-cbc.h
-</add>
-
<requires>
mode_pad
</requires>
diff --git a/src/filters/modes/cfb/info.txt b/src/filters/modes/cfb/info.txt
index b68afc7d0..230899a03 100644
--- a/src/filters/modes/cfb/info.txt
+++ b/src/filters/modes/cfb/info.txt
@@ -1,12 +1 @@
define CFB
-
-load_on auto
-
-<add>
-cfb.cpp
-cfb.h
-</add>
-
-<requires>
-modes
-</requires>
diff --git a/src/filters/modes/cts/info.txt b/src/filters/modes/cts/info.txt
index 773254a30..237f8cd97 100644
--- a/src/filters/modes/cts/info.txt
+++ b/src/filters/modes/cts/info.txt
@@ -1,12 +1 @@
define CTS
-
-load_on auto
-
-<add>
-cts.cpp
-cts.h
-</add>
-
-<requires>
-block
-</requires>
diff --git a/src/filters/modes/eax/info.txt b/src/filters/modes/eax/info.txt
index 143944f03..4c91318d6 100644
--- a/src/filters/modes/eax/info.txt
+++ b/src/filters/modes/eax/info.txt
@@ -1,16 +1,5 @@
define EAX
-load_on auto
-
-<add>
-eax.cpp
-eax.h
-eax_dec.cpp
-</add>
-
<requires>
-block
cmac
-filters
-mac
</requires>
diff --git a/src/filters/modes/ecb/info.txt b/src/filters/modes/ecb/info.txt
index f5c831169..a26930470 100644
--- a/src/filters/modes/ecb/info.txt
+++ b/src/filters/modes/ecb/info.txt
@@ -1,13 +1,5 @@
define ECB
-load_on auto
-
-<add>
-ecb.cpp
-ecb.h
-</add>
-
<requires>
-block
mode_pad
</requires>
diff --git a/src/filters/modes/info.txt b/src/filters/modes/info.txt
index 420233b46..6d27c9709 100644
--- a/src/filters/modes/info.txt
+++ b/src/filters/modes/info.txt
@@ -1,12 +1,5 @@
define CIPHER_MODEBASE
-load_on auto
-
-<add>
-modebase.cpp
-modebase.h
-</add>
-
<requires>
block
filters
diff --git a/src/filters/modes/mode_pad/info.txt b/src/filters/modes/mode_pad/info.txt
index 9629a7202..e97ea03a5 100644
--- a/src/filters/modes/mode_pad/info.txt
+++ b/src/filters/modes/mode_pad/info.txt
@@ -1,8 +1 @@
define CIPHER_MODE_PADDING
-
-load_on auto
-
-<add>
-mode_pad.cpp
-mode_pad.h
-</add>
diff --git a/src/filters/modes/xts/info.txt b/src/filters/modes/xts/info.txt
index 871bb987a..9af3238f1 100644
--- a/src/filters/modes/xts/info.txt
+++ b/src/filters/modes/xts/info.txt
@@ -1,13 +1 @@
define XTS
-
-load_on auto
-
-<add>
-xts.cpp
-xts.h
-</add>
-
-<requires>
-block
-filters
-</requires>
diff --git a/src/filters/pipe.h b/src/filters/pipe.h
index 120f2fbdd..bab360c24 100644
--- a/src/filters/pipe.h
+++ b/src/filters/pipe.h
@@ -268,8 +268,8 @@ BOTAN_DLL std::istream& operator>>(std::istream&, Pipe&);
}
-#endif
-
#if defined(BOTAN_HAS_PIPE_UNIXFD_IO)
#include <botan/fd_unix.h>
#endif
+
+#endif
diff --git a/src/hash/has160/has160.cpp b/src/hash/has160/has160.cpp
index ae45418ce..d245a0249 100644
--- a/src/hash/has160/has160.cpp
+++ b/src/hash/has160/has160.cpp
@@ -11,7 +11,7 @@
namespace Botan {
-namespace {
+namespace HAS_160_F {
/*
* HAS-160 F1 Function
@@ -60,6 +60,8 @@ inline void F4(u32bit A, u32bit& B, u32bit C, u32bit D, u32bit& E,
*/
void HAS_160::compress_n(const byte input[], u32bit blocks)
{
+ using namespace HAS_160_F;
+
u32bit A = digest[0], B = digest[1], C = digest[2],
D = digest[3], E = digest[4];
diff --git a/src/hash/info.txt b/src/hash/info.txt
index 0e45806f8..a048df7d9 100644
--- a/src/hash/info.txt
+++ b/src/hash/info.txt
@@ -1,9 +1,3 @@
-load_on auto
-
-<add>
-hash.h
-</add>
-
<requires>
buf_comp
</requires>
diff --git a/src/hash/md4_ia32/md4_ia32_imp.S b/src/hash/md4_ia32/md4_ia32_imp.S
index 1df972bb9..c7e108147 100644
--- a/src/hash/md4_ia32/md4_ia32_imp.S
+++ b/src/hash/md4_ia32/md4_ia32_imp.S
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/asm_macr_ia32.h>
+#include <botan/internal/asm_macr_ia32.h>
START_LISTING(md4_ia32.S)
diff --git a/src/hash/md5_ia32/md5_ia32_imp.S b/src/hash/md5_ia32/md5_ia32_imp.S
index d1aecb834..e77836353 100644
--- a/src/hash/md5_ia32/md5_ia32_imp.S
+++ b/src/hash/md5_ia32/md5_ia32_imp.S
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/asm_macr_ia32.h>
+#include <botan/internal/asm_macr_ia32.h>
START_LISTING(md5_ia32.S)
diff --git a/src/hash/rmd128/rmd128.cpp b/src/hash/rmd128/rmd128.cpp
index 7e9da3bdd..51e416eb1 100644
--- a/src/hash/rmd128/rmd128.cpp
+++ b/src/hash/rmd128/rmd128.cpp
@@ -11,7 +11,7 @@
namespace Botan {
-namespace {
+namespace RIPEMD_128_F {
/*
* RIPEMD-128 F1 Function
@@ -60,6 +60,8 @@ inline void F4(u32bit& A, u32bit B, u32bit C, u32bit D,
*/
void RIPEMD_128::compress_n(const byte input[], u32bit blocks)
{
+ using namespace RIPEMD_128_F;
+
const u32bit MAGIC2 = 0x5A827999, MAGIC3 = 0x6ED9EBA1,
MAGIC4 = 0x8F1BBCDC, MAGIC5 = 0x50A28BE6,
MAGIC6 = 0x5C4DD124, MAGIC7 = 0x6D703EF3;
diff --git a/src/hash/sha1_amd64/sha1_amd64_imp.S b/src/hash/sha1_amd64/sha1_amd64_imp.S
index d45e2fd86..4eea75f11 100644
--- a/src/hash/sha1_amd64/sha1_amd64_imp.S
+++ b/src/hash/sha1_amd64/sha1_amd64_imp.S
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/asm_macr_amd64.h>
+#include <botan/internal/asm_macr_amd64.h>
START_LISTING(sha1_amd64.S)
diff --git a/src/hash/sha1_ia32/sha1_ia32_imp.S b/src/hash/sha1_ia32/sha1_ia32_imp.S
index 3167fce9a..c2777b4b5 100644
--- a/src/hash/sha1_ia32/sha1_ia32_imp.S
+++ b/src/hash/sha1_ia32/sha1_ia32_imp.S
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/asm_macr_ia32.h>
+#include <botan/internal/asm_macr_ia32.h>
START_LISTING(sha1_ia32.S)
diff --git a/src/kdf/info.txt b/src/kdf/info.txt
index 8eb4fc6e9..a4cd72bf5 100644
--- a/src/kdf/info.txt
+++ b/src/kdf/info.txt
@@ -1,12 +1,5 @@
define KDF_BASE
-load_on auto
-
-<add>
-kdf.cpp
-kdf.h
-</add>
-
<requires>
alloc
</requires>
diff --git a/src/kdf/kdf1/info.txt b/src/kdf/kdf1/info.txt
index 2557f9472..354466107 100644
--- a/src/kdf/kdf1/info.txt
+++ b/src/kdf/kdf1/info.txt
@@ -1,12 +1,5 @@
define KDF1
-load_on auto
-
-<add>
-kdf1.h
-kdf1.cpp
-</add>
-
<requires>
hash
</requires>
diff --git a/src/kdf/kdf2/info.txt b/src/kdf/kdf2/info.txt
index b71595449..d233b5f77 100644
--- a/src/kdf/kdf2/info.txt
+++ b/src/kdf/kdf2/info.txt
@@ -1,12 +1,5 @@
define KDF2
-load_on auto
-
-<add>
-kdf2.cpp
-kdf2.h
-</add>
-
<requires>
hash
</requires>
diff --git a/src/kdf/mgf1/info.txt b/src/kdf/mgf1/info.txt
index 0f104c3b3..91973a614 100644
--- a/src/kdf/mgf1/info.txt
+++ b/src/kdf/mgf1/info.txt
@@ -1,12 +1,5 @@
define MGF1
-load_on dep
-
-<add>
-mgf1.h
-mgf1.cpp
-</add>
-
<requires>
hash
</requires>
diff --git a/src/kdf/ssl_prf/info.txt b/src/kdf/ssl_prf/info.txt
index b306721b9..68355ff40 100644
--- a/src/kdf/ssl_prf/info.txt
+++ b/src/kdf/ssl_prf/info.txt
@@ -1,12 +1,5 @@
define SSL_V3_PRF
-load_on auto
-
-<add>
-prf_ssl3.h
-prf_ssl3.cpp
-</add>
-
<requires>
md5
sha1
diff --git a/src/kdf/tls_prf/info.txt b/src/kdf/tls_prf/info.txt
index 11a0d44f5..9531a6a83 100644
--- a/src/kdf/tls_prf/info.txt
+++ b/src/kdf/tls_prf/info.txt
@@ -1,15 +1,7 @@
define TLS_V10_PRF
-load_on auto
-
-<add>
-prf_tls.h
-prf_tls.cpp
-</add>
-
<requires>
hmac
-mac
md5
sha1
</requires>
diff --git a/src/kdf/x942_prf/info.txt b/src/kdf/x942_prf/info.txt
index e38b2aac1..e51aafd08 100644
--- a/src/kdf/x942_prf/info.txt
+++ b/src/kdf/x942_prf/info.txt
@@ -1,12 +1,5 @@
define X942_PRF
-load_on auto
-
-<add>
-prf_x942.cpp
-prf_x942.h
-</add>
-
<requires>
asn1
oid_lookup
diff --git a/src/libstate/info.txt b/src/libstate/info.txt
index e8271ce99..605a5a6a0 100644
--- a/src/libstate/info.txt
+++ b/src/libstate/info.txt
@@ -2,23 +2,26 @@ load_on always
define LIBSTATE_MODULE
-<add>
+<header:public>
botan.h
+libstate.h
+init.h
+look_pk.h
+lookup.h
+pk_engine.h
+scan_name.h
+</header:public>
+
+<source>
get_enc.cpp
init.cpp
-init.h
libstate.cpp
-libstate.h
look_pk.cpp
-look_pk.h
lookup.cpp
-lookup.h
pk_engine.cpp
-pk_engine.h
policy.cpp
scan_name.cpp
-scan_name.h
-</add>
+</source>
<requires>
algo_factory
diff --git a/src/libstate/oid_lookup/info.txt b/src/libstate/oid_lookup/info.txt
index e0f6f099c..6544c9501 100644
--- a/src/libstate/oid_lookup/info.txt
+++ b/src/libstate/oid_lookup/info.txt
@@ -1,12 +1,5 @@
-load_on dep
-
define OID_LOOKUP
-<add>
-oids.cpp
-oids.h
-</add>
-
<requires>
asn1
</requires>
diff --git a/src/mac/cbc_mac/info.txt b/src/mac/cbc_mac/info.txt
index 80adc5fd0..b65bb684c 100644
--- a/src/mac/cbc_mac/info.txt
+++ b/src/mac/cbc_mac/info.txt
@@ -1,12 +1,5 @@
define CBC_MAC
-load_on auto
-
-<add>
-cbc_mac.cpp
-cbc_mac.h
-</add>
-
<requires>
block
</requires>
diff --git a/src/mac/cmac/info.txt b/src/mac/cmac/info.txt
index 5dad789de..5513943ac 100644
--- a/src/mac/cmac/info.txt
+++ b/src/mac/cmac/info.txt
@@ -1,12 +1,5 @@
define CMAC
-load_on auto
-
-<add>
-cmac.cpp
-cmac.h
-</add>
-
<requires>
block
</requires>
diff --git a/src/mac/hmac/info.txt b/src/mac/hmac/info.txt
index 26da83533..b1a69c25b 100644
--- a/src/mac/hmac/info.txt
+++ b/src/mac/hmac/info.txt
@@ -1,12 +1,5 @@
define HMAC
-load_on auto
-
-<add>
-hmac.cpp
-hmac.h
-</add>
-
<requires>
hash
</requires>
diff --git a/src/mac/info.txt b/src/mac/info.txt
index 9a839d04d..6a74d8445 100644
--- a/src/mac/info.txt
+++ b/src/mac/info.txt
@@ -1,10 +1,3 @@
-load_on auto
-
-<add>
-mac.h
-mac.cpp
-</add>
-
<requires>
buf_comp
sym_algo
diff --git a/src/mac/ssl3mac/info.txt b/src/mac/ssl3mac/info.txt
index c4ef54629..8c636dbae 100644
--- a/src/mac/ssl3mac/info.txt
+++ b/src/mac/ssl3mac/info.txt
@@ -1,12 +1,5 @@
define SSL3_MAC
-load_on auto
-
-<add>
-ssl3_mac.cpp
-ssl3_mac.h
-</add>
-
<requires>
hash
</requires>
diff --git a/src/mac/x919_mac/info.txt b/src/mac/x919_mac/info.txt
index 16955816c..ca294c951 100644
--- a/src/mac/x919_mac/info.txt
+++ b/src/mac/x919_mac/info.txt
@@ -1,12 +1,5 @@
define ANSI_X919_MAC
-load_on auto
-
-<add>
-x919_mac.cpp
-x919_mac.h
-</add>
-
<requires>
block
</requires>
diff --git a/src/math/bigint/big_ops2.cpp b/src/math/bigint/big_ops2.cpp
index 488eca909..863e5bde4 100644
--- a/src/math/bigint/big_ops2.cpp
+++ b/src/math/bigint/big_ops2.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/bigint.h>
-#include <botan/mp_core.h>
+#include <botan/internal/mp_core.h>
#include <botan/bit_ops.h>
#include <algorithm>
diff --git a/src/math/bigint/big_ops3.cpp b/src/math/bigint/big_ops3.cpp
index ad8b7bbd0..8f7861003 100644
--- a/src/math/bigint/big_ops3.cpp
+++ b/src/math/bigint/big_ops3.cpp
@@ -7,7 +7,7 @@
#include <botan/bigint.h>
#include <botan/divide.h>
-#include <botan/mp_core.h>
+#include <botan/internal/mp_core.h>
#include <botan/bit_ops.h>
#include <algorithm>
diff --git a/src/math/bigint/bigint.cpp b/src/math/bigint/bigint.cpp
index 7592ec439..dba4f6204 100644
--- a/src/math/bigint/bigint.cpp
+++ b/src/math/bigint/bigint.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/bigint.h>
-#include <botan/mp_core.h>
+#include <botan/internal/mp_core.h>
#include <botan/loadstor.h>
#include <botan/parsing.h>
#include <botan/rounding.h>
diff --git a/src/math/bigint/divide.cpp b/src/math/bigint/divide.cpp
index 45d31350d..a5f2462d8 100644
--- a/src/math/bigint/divide.cpp
+++ b/src/math/bigint/divide.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/divide.h>
-#include <botan/mp_core.h>
+#include <botan/internal/mp_core.h>
namespace Botan {
diff --git a/src/math/bigint/info.txt b/src/math/bigint/info.txt
index 30018b795..d5741943f 100644
--- a/src/math/bigint/info.txt
+++ b/src/math/bigint/info.txt
@@ -2,11 +2,17 @@ load_on auto
define BIGINT
-<add>
+<header:public>
bigint.h
divide.h
-mp_core.h
mp_types.h
+</header:public>
+
+<header:internal>
+mp_core.h
+</header:internal>
+
+<source>
big_code.cpp
big_io.cpp
big_ops2.cpp
@@ -19,7 +25,7 @@ mp_comba.cpp
mp_karat.cpp
mp_misc.cpp
mp_shift.cpp
-</add>
+</source>
<requires>
alloc
diff --git a/src/math/bigint/monty_amd64/info.txt b/src/math/bigint/monty_amd64/info.txt
index 657cd0353..bb16dbe8f 100644
--- a/src/math/bigint/monty_amd64/info.txt
+++ b/src/math/bigint/monty_amd64/info.txt
@@ -2,9 +2,9 @@ mp_bits 64
load_on never
-<add>
+<source>
mp_monty.S
-</add>
+</source>
<arch>
amd64
diff --git a/src/math/bigint/monty_amd64/mp_monty.S b/src/math/bigint/monty_amd64/mp_monty.S
index fa493aaa2..9eab9f766 100644
--- a/src/math/bigint/monty_amd64/mp_monty.S
+++ b/src/math/bigint/monty_amd64/mp_monty.S
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/asm_macr_amd64.h>
+#include <botan/internal/asm_macr_amd64.h>
START_LISTING(mp_monty.S)
diff --git a/src/math/bigint/monty_generic/info.txt b/src/math/bigint/monty_generic/info.txt
index c709229e6..cd05ccdc0 100644
--- a/src/math/bigint/monty_generic/info.txt
+++ b/src/math/bigint/monty_generic/info.txt
@@ -1,5 +1,5 @@
load_on dep
-<add>
+<source>
mp_monty.cpp
-</add>
+</source>
diff --git a/src/math/bigint/monty_generic/mp_monty.cpp b/src/math/bigint/monty_generic/mp_monty.cpp
index 5409e2569..ba1071e21 100644
--- a/src/math/bigint/monty_generic/mp_monty.cpp
+++ b/src/math/bigint/monty_generic/mp_monty.cpp
@@ -6,9 +6,9 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/mp_core.h>
-#include <botan/mp_asm.h>
-#include <botan/mp_asmi.h>
+#include <botan/internal/mp_core.h>
+#include <botan/internal/mp_asm.h>
+#include <botan/internal/mp_asmi.h>
namespace Botan {
diff --git a/src/math/bigint/mp_amd64/info.txt b/src/math/bigint/mp_amd64/info.txt
index a7da8806e..616fb2840 100644
--- a/src/math/bigint/mp_amd64/info.txt
+++ b/src/math/bigint/mp_amd64/info.txt
@@ -1,11 +1,11 @@
-mp_bits 64
-
load_on dep
-<add>
+mp_bits 64
+
+<header:internal>
mp_asm.h
mp_asmi.h
-</add>
+</header:internal>
<arch>
amd64
diff --git a/src/math/bigint/mp_amd64/mp_asmi.h b/src/math/bigint/mp_amd64/mp_asmi.h
index 1a3ac1aaa..d8f681d77 100644
--- a/src/math/bigint/mp_amd64/mp_asmi.h
+++ b/src/math/bigint/mp_amd64/mp_asmi.h
@@ -9,7 +9,7 @@
#ifndef BOTAN_MP_ASM_INTERNAL_H__
#define BOTAN_MP_ASM_INTERNAL_H__
-#include <botan/mp_asm.h>
+#include <botan/internal/mp_asm.h>
namespace Botan {
diff --git a/src/math/bigint/mp_asm.cpp b/src/math/bigint/mp_asm.cpp
index ea9738d30..9827bff06 100644
--- a/src/math/bigint/mp_asm.cpp
+++ b/src/math/bigint/mp_asm.cpp
@@ -6,9 +6,9 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/mp_asm.h>
-#include <botan/mp_asmi.h>
-#include <botan/mp_core.h>
+#include <botan/internal/mp_asm.h>
+#include <botan/internal/mp_asmi.h>
+#include <botan/internal/mp_core.h>
#include <botan/mem_ops.h>
namespace Botan {
diff --git a/src/math/bigint/mp_asm64/info.txt b/src/math/bigint/mp_asm64/info.txt
index 7bdbffb2c..fd0242a7a 100644
--- a/src/math/bigint/mp_asm64/info.txt
+++ b/src/math/bigint/mp_asm64/info.txt
@@ -2,10 +2,10 @@ mp_bits 64
load_on dep
-<add>
+<header:internal>
mp_asm.h
mp_generic:mp_asmi.h
-</add>
+</header:internal>
<arch>
#amd64
diff --git a/src/math/bigint/mp_comba.cpp b/src/math/bigint/mp_comba.cpp
index 218038d8a..2770d3f0a 100644
--- a/src/math/bigint/mp_comba.cpp
+++ b/src/math/bigint/mp_comba.cpp
@@ -5,8 +5,8 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/mp_core.h>
-#include <botan/mp_asmi.h>
+#include <botan/internal/mp_core.h>
+#include <botan/internal/mp_asmi.h>
namespace Botan {
diff --git a/src/math/bigint/mp_generic/info.txt b/src/math/bigint/mp_generic/info.txt
index 28f258ebb..ab4d7406a 100644
--- a/src/math/bigint/mp_generic/info.txt
+++ b/src/math/bigint/mp_generic/info.txt
@@ -1,6 +1,6 @@
load_on dep
-<add>
+<header:internal>
mp_asm.h
mp_asmi.h
-</add>
+</header:internal>
diff --git a/src/math/bigint/mp_generic/mp_asmi.h b/src/math/bigint/mp_generic/mp_asmi.h
index 21c4db248..9913c6ba9 100644
--- a/src/math/bigint/mp_generic/mp_asmi.h
+++ b/src/math/bigint/mp_generic/mp_asmi.h
@@ -9,7 +9,7 @@
#ifndef BOTAN_MP_ASM_INTERNAL_H__
#define BOTAN_MP_ASM_INTERNAL_H__
-#include <botan/mp_asm.h>
+#include <botan/internal/mp_asm.h>
namespace Botan {
diff --git a/src/math/bigint/mp_ia32/info.txt b/src/math/bigint/mp_ia32/info.txt
index 6e093a7e5..182f34eb7 100644
--- a/src/math/bigint/mp_ia32/info.txt
+++ b/src/math/bigint/mp_ia32/info.txt
@@ -1,11 +1,11 @@
-mp_bits 32
+load_on dep
-load_on asm_ok
+mp_bits 32
-<add>
+<header:internal>
mp_asm.h
mp_asmi.h
-</add>
+</header:internal>
<arch>
ia32
diff --git a/src/math/bigint/mp_ia32/mp_asmi.h b/src/math/bigint/mp_ia32/mp_asmi.h
index 46bf302d5..0b8708e53 100644
--- a/src/math/bigint/mp_ia32/mp_asmi.h
+++ b/src/math/bigint/mp_ia32/mp_asmi.h
@@ -9,7 +9,7 @@
#ifndef BOTAN_MP_ASM_INTERNAL_H__
#define BOTAN_MP_ASM_INTERNAL_H__
-#include <botan/mp_asm.h>
+#include <botan/internal/mp_asm.h>
namespace Botan {
diff --git a/src/math/bigint/mp_ia32_msvc/info.txt b/src/math/bigint/mp_ia32_msvc/info.txt
index 52839d89b..55a42c310 100644
--- a/src/math/bigint/mp_ia32_msvc/info.txt
+++ b/src/math/bigint/mp_ia32_msvc/info.txt
@@ -2,10 +2,10 @@ mp_bits 32
load_on dep
-<add>
+<header:internal>
mp_generic:mp_asm.h
mp_asmi.h
-</add>
+</header:internal>
<arch>
ia32
diff --git a/src/math/bigint/mp_ia32_msvc/mp_asmi.h b/src/math/bigint/mp_ia32_msvc/mp_asmi.h
index 33ce6eb3d..4c3027fde 100644
--- a/src/math/bigint/mp_ia32_msvc/mp_asmi.h
+++ b/src/math/bigint/mp_ia32_msvc/mp_asmi.h
@@ -9,7 +9,7 @@
#ifndef BOTAN_MP_ASM_INTERNAL_H__
#define BOTAN_MP_ASM_INTERNAL_H__
-#include <botan/mp_asm.h>
+#include <botan/internal/mp_asm.h>
namespace Botan {
diff --git a/src/math/bigint/mp_karat.cpp b/src/math/bigint/mp_karat.cpp
index f30d418cc..a50e4ee0c 100644
--- a/src/math/bigint/mp_karat.cpp
+++ b/src/math/bigint/mp_karat.cpp
@@ -5,9 +5,9 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/mp_core.h>
+#include <botan/internal/mp_core.h>
#include <botan/mem_ops.h>
-#include <botan/mp_asmi.h>
+#include <botan/internal/mp_asmi.h>
namespace Botan {
diff --git a/src/math/bigint/mp_misc.cpp b/src/math/bigint/mp_misc.cpp
index 6b7fc651b..86d5f3d50 100644
--- a/src/math/bigint/mp_misc.cpp
+++ b/src/math/bigint/mp_misc.cpp
@@ -5,8 +5,8 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/mp_core.h>
-#include <botan/mp_asm.h>
+#include <botan/internal/mp_core.h>
+#include <botan/internal/mp_asm.h>
namespace Botan {
diff --git a/src/math/bigint/mp_shift.cpp b/src/math/bigint/mp_shift.cpp
index a7de79c77..f1d609bfb 100644
--- a/src/math/bigint/mp_shift.cpp
+++ b/src/math/bigint/mp_shift.cpp
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/mp_core.h>
+#include <botan/internal/mp_core.h>
#include <botan/mem_ops.h>
namespace Botan {
diff --git a/src/math/bigint/mulop_amd64/info.txt b/src/math/bigint/mulop_amd64/info.txt
index 704e4dad8..4a82ff5be 100644
--- a/src/math/bigint/mulop_amd64/info.txt
+++ b/src/math/bigint/mulop_amd64/info.txt
@@ -2,9 +2,9 @@ mp_bits 64
load_on never
-<add>
+<source>
mp_mulop_amd64.S
-</add>
+</source>
<arch>
amd64
diff --git a/src/math/bigint/mulop_amd64/mp_mulop.cpp b/src/math/bigint/mulop_amd64/mp_mulop.cpp
index cbd723e28..e2f38a104 100644
--- a/src/math/bigint/mulop_amd64/mp_mulop.cpp
+++ b/src/math/bigint/mulop_amd64/mp_mulop.cpp
@@ -5,9 +5,9 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/mp_asm.h>
-#include <botan/mp_asmi.h>
-#include <botan/mp_core.h>
+#include <botan/internal/mp_asm.h>
+#include <botan/internal/mp_asmi.h>
+#include <botan/internal/mp_core.h>
#include <botan/mem_ops.h>
namespace Botan {
diff --git a/src/math/bigint/mulop_amd64/mp_mulop_amd64.S b/src/math/bigint/mulop_amd64/mp_mulop_amd64.S
index dd794bccd..d0bb3325f 100644
--- a/src/math/bigint/mulop_amd64/mp_mulop_amd64.S
+++ b/src/math/bigint/mulop_amd64/mp_mulop_amd64.S
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/asm_macr_amd64.h>
+#include <botan/internal/asm_macr_amd64.h>
START_LISTING(mp_mulop.S)
diff --git a/src/math/bigint/mulop_generic/info.txt b/src/math/bigint/mulop_generic/info.txt
index 8fa2a40c9..548d0f44b 100644
--- a/src/math/bigint/mulop_generic/info.txt
+++ b/src/math/bigint/mulop_generic/info.txt
@@ -1,5 +1,5 @@
load_on dep
-<add>
+<source>
mp_mulop.cpp
-</add>
+</source>
diff --git a/src/math/bigint/mulop_generic/mp_mulop.cpp b/src/math/bigint/mulop_generic/mp_mulop.cpp
index 4647d00d5..33ee2af32 100644
--- a/src/math/bigint/mulop_generic/mp_mulop.cpp
+++ b/src/math/bigint/mulop_generic/mp_mulop.cpp
@@ -5,9 +5,9 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/mp_asm.h>
-#include <botan/mp_asmi.h>
-#include <botan/mp_core.h>
+#include <botan/internal/mp_asm.h>
+#include <botan/internal/mp_asmi.h>
+#include <botan/internal/mp_core.h>
#include <botan/mem_ops.h>
namespace Botan {
diff --git a/src/math/bigint/mulop_ia32/info.txt b/src/math/bigint/mulop_ia32/info.txt
index dd554773f..7afa2ca2f 100644
--- a/src/math/bigint/mulop_ia32/info.txt
+++ b/src/math/bigint/mulop_ia32/info.txt
@@ -4,9 +4,9 @@ mp_bits 32
load_on request
-<add>
+<source>
mp_mulop.S
-</add>
+</source>
<arch>
ia32
diff --git a/src/math/bigint/mulop_ia32/mp_mulop.S b/src/math/bigint/mulop_ia32/mp_mulop.S
index 0ca559659..34cd58112 100644
--- a/src/math/bigint/mulop_ia32/mp_mulop.S
+++ b/src/math/bigint/mulop_ia32/mp_mulop.S
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/asm_macr_ia32.h>
+#include <botan/internal/asm_macr_ia32.h>
START_LISTING(mp_muladd.S)
diff --git a/src/math/gfpmath/gfp_element.cpp b/src/math/gfpmath/gfp_element.cpp
index 4b95e68ff..ebba236d5 100644
--- a/src/math/gfpmath/gfp_element.cpp
+++ b/src/math/gfpmath/gfp_element.cpp
@@ -9,9 +9,8 @@
#include <botan/gfp_element.h>
#include <botan/numthry.h>
#include <botan/def_powm.h>
-#include <botan/mp_types.h>
-#include <botan/mp_asm.h>
-#include <botan/mp_asmi.h>
+#include <botan/internal/mp_asm.h>
+#include <botan/internal/mp_asmi.h>
#include <ostream>
#include <assert.h>
diff --git a/src/math/gfpmath/info.txt b/src/math/gfpmath/info.txt
index abbdb0a47..a02dbc044 100644
--- a/src/math/gfpmath/info.txt
+++ b/src/math/gfpmath/info.txt
@@ -1,18 +1,19 @@
-uses_tr1 yes
-
-load_on auto
-
define BIGINT_GFP
-<add>
-curve_gfp.cpp
+uses_tr1 yes
+
+<header:public>
curve_gfp.h
-gfp_element.cpp
gfp_element.h
gfp_modulus.h
-point_gfp.cpp
point_gfp.h
-</add>
+</header:public>
+
+<source>
+curve_gfp.cpp
+gfp_element.cpp
+point_gfp.cpp
+</source>
<requires>
bigint
diff --git a/src/math/numbertheory/info.txt b/src/math/numbertheory/info.txt
index 527f4fa29..4a3e3436b 100644
--- a/src/math/numbertheory/info.txt
+++ b/src/math/numbertheory/info.txt
@@ -2,25 +2,28 @@ load_on auto
define BIGINT_MATH
-<add>
-blinding.cpp
+<header:public>
blinding.h
def_powm.h
+numthry.h
+pow_mod.h
+reducer.h
+</header:public>
+
+<source>
+blinding.cpp
dsa_gen.cpp
jacobi.cpp
make_prm.cpp
mp_numth.cpp
numthry.cpp
-numthry.h
pow_mod.cpp
-pow_mod.h
powm_fw.cpp
powm_mnt.cpp
primes.cpp
reducer.cpp
-reducer.h
ressol.cpp
-</add>
+</source>
<requires>
algo_factory
diff --git a/src/math/numbertheory/mp_numth.cpp b/src/math/numbertheory/mp_numth.cpp
index 2cb36b8a3..484c15f8d 100644
--- a/src/math/numbertheory/mp_numth.cpp
+++ b/src/math/numbertheory/mp_numth.cpp
@@ -6,7 +6,7 @@
*/
#include <botan/numthry.h>
-#include <botan/mp_core.h>
+#include <botan/internal/mp_core.h>
#include <botan/rounding.h>
#include <algorithm>
diff --git a/src/math/numbertheory/powm_fw.cpp b/src/math/numbertheory/powm_fw.cpp
index b764ee7aa..8f39830a7 100644
--- a/src/math/numbertheory/powm_fw.cpp
+++ b/src/math/numbertheory/powm_fw.cpp
@@ -16,8 +16,8 @@ namespace {
/*
* Try to choose a good window size
*/
-u32bit choose_window_bits(u32bit exp_bits, u32bit,
- Power_Mod::Usage_Hints hints)
+u32bit fw_powm_window_bits(u32bit exp_bits, u32bit,
+ Power_Mod::Usage_Hints hints)
{
static const u32bit wsize[][2] = {
{ 2048, 7 }, { 1024, 6 }, { 256, 5 }, { 128, 4 }, { 64, 3 }, { 0, 0 }
@@ -62,7 +62,7 @@ void Fixed_Window_Exponentiator::set_exponent(const BigInt& e)
*/
void Fixed_Window_Exponentiator::set_base(const BigInt& base)
{
- window_bits = choose_window_bits(exp.bits(), base.bits(), hints);
+ window_bits = fw_powm_window_bits(exp.bits(), base.bits(), hints);
g.resize((1 << window_bits) - 1);
g[0] = base;
diff --git a/src/math/numbertheory/powm_mnt.cpp b/src/math/numbertheory/powm_mnt.cpp
index e6d8cc3f0..d18081c6a 100644
--- a/src/math/numbertheory/powm_mnt.cpp
+++ b/src/math/numbertheory/powm_mnt.cpp
@@ -7,7 +7,7 @@
#include <botan/def_powm.h>
#include <botan/numthry.h>
-#include <botan/mp_core.h>
+#include <botan/internal/mp_core.h>
namespace Botan {
@@ -16,8 +16,8 @@ namespace {
/*
* Try to choose a good window size
*/
-u32bit choose_window_bits(u32bit exp_bits, u32bit,
- Power_Mod::Usage_Hints hints)
+u32bit montgomery_powm_window_bits(u32bit exp_bits, u32bit,
+ Power_Mod::Usage_Hints hints)
{
static const u32bit wsize[][2] = {
{ 2048, 4 }, { 1024, 3 }, { 256, 2 }, { 128, 1 }, { 0, 0 }
@@ -76,7 +76,7 @@ void Montgomery_Exponentiator::set_exponent(const BigInt& exp)
*/
void Montgomery_Exponentiator::set_base(const BigInt& base)
{
- window_bits = choose_window_bits(exp.bits(), base.bits(), hints);
+ window_bits = montgomery_powm_window_bits(exp.bits(), base.bits(), hints);
g.resize((1 << window_bits) - 1);
diff --git a/src/math/numbertheory/reducer.cpp b/src/math/numbertheory/reducer.cpp
index fbd675ea6..aa53f1a0e 100644
--- a/src/math/numbertheory/reducer.cpp
+++ b/src/math/numbertheory/reducer.cpp
@@ -7,7 +7,7 @@
#include <botan/reducer.h>
#include <botan/numthry.h>
-#include <botan/mp_core.h>
+#include <botan/internal/mp_core.h>
namespace Botan {
diff --git a/src/mutex/info.txt b/src/mutex/info.txt
index 0f2836b64..b92b329aa 100644
--- a/src/mutex/info.txt
+++ b/src/mutex/info.txt
@@ -1,7 +1 @@
define MUTEX_WRAPPERS
-
-load_on auto
-
-<add>
-mutex.h
-</add>
diff --git a/src/mutex/noop_mutex/info.txt b/src/mutex/noop_mutex/info.txt
index 6025959c2..de98deda0 100644
--- a/src/mutex/noop_mutex/info.txt
+++ b/src/mutex/noop_mutex/info.txt
@@ -1,8 +1 @@
-load_on auto
-
define MUTEX_NOOP
-
-<add>
-mux_noop.cpp
-mux_noop.h
-</add>
diff --git a/src/mutex/pthreads/info.txt b/src/mutex/pthreads/info.txt
index 7315c186a..e363cdbeb 100644
--- a/src/mutex/pthreads/info.txt
+++ b/src/mutex/pthreads/info.txt
@@ -1,12 +1,5 @@
define MUTEX_PTHREAD
-load_on auto
-
-<add>
-mux_pthr.cpp
-mux_pthr.h
-</add>
-
<libs>
all!qnx,freebsd,dragonfly,openbsd,netbsd -> pthread
</libs>
diff --git a/src/pbe/info.txt b/src/pbe/info.txt
index f58ed1da4..b45c8f9f4 100644
--- a/src/pbe/info.txt
+++ b/src/pbe/info.txt
@@ -1,12 +1,5 @@
-load_on dep
-
define PASSWORD_BASED_ENCRYPTION
-<add>
-get_pbe.cpp
-get_pbe.h
-</add>
-
<requires>
filters
libstate
diff --git a/src/pbe/pbes1/info.txt b/src/pbe/pbes1/info.txt
index 5dcbf9510..4fe66f6f8 100644
--- a/src/pbe/pbes1/info.txt
+++ b/src/pbe/pbes1/info.txt
@@ -1,12 +1,5 @@
define PBE_PKCS_V15
-load_on auto
-
-<add>
-pbes1.cpp
-pbes1.h
-</add>
-
<requires>
asn1
block
diff --git a/src/pbe/pbes2/info.txt b/src/pbe/pbes2/info.txt
index 71fb6ea72..e0d3833e2 100644
--- a/src/pbe/pbes2/info.txt
+++ b/src/pbe/pbes2/info.txt
@@ -1,12 +1,5 @@
define PBE_PKCS_V20
-load_on auto
-
-<add>
-pbes2.cpp
-pbes2.h
-</add>
-
<requires>
algo_factory
asn1
diff --git a/src/pk_pad/eme1/info.txt b/src/pk_pad/eme1/info.txt
index 794254e8e..42f6be5a2 100644
--- a/src/pk_pad/eme1/info.txt
+++ b/src/pk_pad/eme1/info.txt
@@ -2,11 +2,6 @@ define EME1
load_on auto
-<add>
-eme1.h
-eme1.cpp
-</add>
-
<requires>
hash
kdf
diff --git a/src/pk_pad/eme_pkcs/info.txt b/src/pk_pad/eme_pkcs/info.txt
index 95c568452..e4fb4604d 100644
--- a/src/pk_pad/eme_pkcs/info.txt
+++ b/src/pk_pad/eme_pkcs/info.txt
@@ -1,8 +1 @@
define EME_PKCS1v15
-
-load_on auto
-
-<add>
-eme_pkcs.h
-eme_pkcs.cpp
-</add>
diff --git a/src/pk_pad/emsa1/info.txt b/src/pk_pad/emsa1/info.txt
index 55832307b..294e4b068 100644
--- a/src/pk_pad/emsa1/info.txt
+++ b/src/pk_pad/emsa1/info.txt
@@ -1,12 +1,5 @@
define EMSA1
-load_on auto
-
-<add>
-emsa1.h
-emsa1.cpp
-</add>
-
<requires>
hash
</requires>
diff --git a/src/pk_pad/emsa1_bsi/info.txt b/src/pk_pad/emsa1_bsi/info.txt
index 5e8fe09ca..313b153fc 100644
--- a/src/pk_pad/emsa1_bsi/info.txt
+++ b/src/pk_pad/emsa1_bsi/info.txt
@@ -1,12 +1,5 @@
define EMSA1_BSI
-load_on auto
-
-<add>
-emsa1_bsi.h
-emsa1_bsi.cpp
-</add>
-
<requires>
emsa1
</requires>
diff --git a/src/pk_pad/emsa2/info.txt b/src/pk_pad/emsa2/info.txt
index a6fff2a02..16357f841 100644
--- a/src/pk_pad/emsa2/info.txt
+++ b/src/pk_pad/emsa2/info.txt
@@ -1,12 +1,5 @@
define EMSA2
-load_on auto
-
-<add>
-emsa2.h
-emsa2.cpp
-</add>
-
<requires>
hash
hash_id
diff --git a/src/pk_pad/emsa3/info.txt b/src/pk_pad/emsa3/info.txt
index babd98711..e9ba20196 100644
--- a/src/pk_pad/emsa3/info.txt
+++ b/src/pk_pad/emsa3/info.txt
@@ -1,12 +1,5 @@
define EMSA3
-load_on auto
-
-<add>
-emsa3.h
-emsa3.cpp
-</add>
-
<requires>
hash
hash_id
diff --git a/src/pk_pad/emsa4/info.txt b/src/pk_pad/emsa4/info.txt
index ea1db30a1..ff492d1e0 100644
--- a/src/pk_pad/emsa4/info.txt
+++ b/src/pk_pad/emsa4/info.txt
@@ -1,12 +1,5 @@
define EMSA4
-load_on auto
-
-<add>
-emsa4.h
-emsa4.cpp
-</add>
-
<requires>
hash
kdf
diff --git a/src/pk_pad/emsa_raw/info.txt b/src/pk_pad/emsa_raw/info.txt
index 4bd850e11..f5be26ac9 100644
--- a/src/pk_pad/emsa_raw/info.txt
+++ b/src/pk_pad/emsa_raw/info.txt
@@ -1,8 +1 @@
define EMSA_RAW
-
-load_on auto
-
-<add>
-emsa_raw.h
-emsa_raw.cpp
-</add>
diff --git a/src/pk_pad/hash_id/info.txt b/src/pk_pad/hash_id/info.txt
index af9f5cd4f..5a4df3cc2 100644
--- a/src/pk_pad/hash_id/info.txt
+++ b/src/pk_pad/hash_id/info.txt
@@ -1,12 +1,5 @@
define HASH_ID
-load_on auto
-
-<add>
-hash_id.cpp
-hash_id.h
-</add>
-
<requires>
alloc
</requires>
diff --git a/src/pk_pad/info.txt b/src/pk_pad/info.txt
index 14b05f458..19e15f8bd 100644
--- a/src/pk_pad/info.txt
+++ b/src/pk_pad/info.txt
@@ -2,12 +2,6 @@ define PK_PADDING
load_on auto
-<add>
-emsa.h
-eme.cpp
-eme.h
-</add>
-
<requires>
alloc
rng
diff --git a/src/pubkey/dh/dh_core.cpp b/src/pubkey/dh/dh_core.cpp
index 78a26a8ef..07d134c44 100644
--- a/src/pubkey/dh/dh_core.cpp
+++ b/src/pubkey/dh/dh_core.cpp
@@ -13,18 +13,14 @@
namespace Botan {
-namespace {
-
-const u32bit BLINDING_BITS = BOTAN_PRIVATE_KEY_OP_BLINDING_BITS;
-
-}
-
/*
* DH_Core Constructor
*/
DH_Core::DH_Core(RandomNumberGenerator& rng,
const DL_Group& group, const BigInt& x)
{
+ const u32bit BLINDING_BITS = BOTAN_PRIVATE_KEY_OP_BLINDING_BITS;
+
op = Engine_Core::dh_op(group, x);
const BigInt& p = group.get_p();
diff --git a/src/pubkey/dh/info.txt b/src/pubkey/dh/info.txt
index 8295a74f4..ca8f74fa1 100644
--- a/src/pubkey/dh/info.txt
+++ b/src/pubkey/dh/info.txt
@@ -1,14 +1,15 @@
define DIFFIE_HELLMAN
-load_on auto
+<header:public>
+dh_core.h
+dh_op.h
+dh.h
+</header:public>
-<add>
+<source>
dh.cpp
-dh.h
dh_core.cpp
-dh_core.h
-dh_op.h
-</add>
+</source>
<requires>
dl_algo
diff --git a/src/pubkey/dl_algo/info.txt b/src/pubkey/dl_algo/info.txt
index 0ac91c887..21829fa42 100644
--- a/src/pubkey/dl_algo/info.txt
+++ b/src/pubkey/dl_algo/info.txt
@@ -1,12 +1,5 @@
define DL_PUBLIC_KEY_FAMILY
-load_on auto
-
-<add>
-dl_algo.cpp
-dl_algo.h
-</add>
-
<requires>
asn1
dl_group
diff --git a/src/pubkey/dl_group/info.txt b/src/pubkey/dl_group/info.txt
index 2e5273ac4..8922be3fb 100644
--- a/src/pubkey/dl_group/info.txt
+++ b/src/pubkey/dl_group/info.txt
@@ -1,12 +1,5 @@
-load_on auto
-
define DL_GROUP
-<add>
-dl_group.cpp
-dl_group.h
-</add>
-
<requires>
asn1
bigint
diff --git a/src/pubkey/dlies/info.txt b/src/pubkey/dlies/info.txt
index d3e950427..5aa90f646 100644
--- a/src/pubkey/dlies/info.txt
+++ b/src/pubkey/dlies/info.txt
@@ -1,12 +1,5 @@
define DLIES
-load_on auto
-
-<add>
-dlies.cpp
-dlies.h
-</add>
-
<requires>
kdf
libstate
diff --git a/src/pubkey/dsa/info.txt b/src/pubkey/dsa/info.txt
index 776a5da28..1248cf68d 100644
--- a/src/pubkey/dsa/info.txt
+++ b/src/pubkey/dsa/info.txt
@@ -1,15 +1,16 @@
define DSA
-load_on auto
+<header:public>
+dsa.h
+dsa_core.h
+dsa_op.h
+</header:public>
-<add>
+<source>
dsa.cpp
-dsa.h
dsa_core.cpp
-dsa_core.h
dsa_op.cpp
-dsa_op.h
-</add>
+</source>
<requires>
dl_algo
diff --git a/src/pubkey/ec_dompar/info.txt b/src/pubkey/ec_dompar/info.txt
index f32e4fc2f..b05903b69 100644
--- a/src/pubkey/ec_dompar/info.txt
+++ b/src/pubkey/ec_dompar/info.txt
@@ -1,12 +1,5 @@
define ECC_DOMAIN_PARAMATERS
-load_on auto
-
-<add>
-ec_dompar.cpp
-ec_dompar.h
-</add>
-
<requires>
asn1
bigint
diff --git a/src/pubkey/ecc_key/info.txt b/src/pubkey/ecc_key/info.txt
index f45533129..92455189a 100644
--- a/src/pubkey/ecc_key/info.txt
+++ b/src/pubkey/ecc_key/info.txt
@@ -1,12 +1,5 @@
define ECC_PUBLIC_KEY_CRYPTO
-load_on auto
-
-<add>
-ecc_key.cpp
-ecc_key.h
-</add>
-
<requires>
alloc
asn1
diff --git a/src/pubkey/ecdsa/info.txt b/src/pubkey/ecdsa/info.txt
index 3da73dd34..be5ac037a 100644
--- a/src/pubkey/ecdsa/info.txt
+++ b/src/pubkey/ecdsa/info.txt
@@ -1,16 +1,5 @@
define ECDSA
-load_on auto
-
-<add>
-ecdsa.cpp
-ecdsa.h
-ecdsa_core.cpp
-ecdsa_core.h
-ecdsa_op.cpp
-ecdsa_op.h
-</add>
-
<requires>
alloc
asn1
diff --git a/src/pubkey/eckaeg/info.txt b/src/pubkey/eckaeg/info.txt
index 3a9768df1..53a744daa 100644
--- a/src/pubkey/eckaeg/info.txt
+++ b/src/pubkey/eckaeg/info.txt
@@ -1,16 +1,5 @@
define ECKAEG
-load_on auto
-
-<add>
-eckaeg.cpp
-eckaeg.h
-eckaeg_core.cpp
-eckaeg_core.h
-eckaeg_op.cpp
-eckaeg_op.h
-</add>
-
<requires>
alloc
asn1
diff --git a/src/pubkey/elgamal/elg_core.cpp b/src/pubkey/elgamal/elg_core.cpp
index 8b8c8f50b..f2416d8a0 100644
--- a/src/pubkey/elgamal/elg_core.cpp
+++ b/src/pubkey/elgamal/elg_core.cpp
@@ -13,12 +13,6 @@
namespace Botan {
-namespace {
-
-const u32bit BLINDING_BITS = BOTAN_PRIVATE_KEY_OP_BLINDING_BITS;
-
-}
-
/*
* ELG_Core Constructor
*/
@@ -34,6 +28,8 @@ ELG_Core::ELG_Core(const DL_Group& group, const BigInt& y)
ELG_Core::ELG_Core(RandomNumberGenerator& rng,
const DL_Group& group, const BigInt& y, const BigInt& x)
{
+ const u32bit BLINDING_BITS = BOTAN_PRIVATE_KEY_OP_BLINDING_BITS;
+
op = Engine_Core::elg_op(group, y, x);
const BigInt& p = group.get_p();
diff --git a/src/pubkey/elgamal/info.txt b/src/pubkey/elgamal/info.txt
index 8c55eb909..7906d0cd0 100644
--- a/src/pubkey/elgamal/info.txt
+++ b/src/pubkey/elgamal/info.txt
@@ -1,16 +1,5 @@
define ELGAMAL
-load_on auto
-
-<add>
-elgamal.cpp
-elgamal.h
-elg_core.cpp
-elg_core.h
-elg_op.cpp
-elg_op.h
-</add>
-
<requires>
dl_algo
dl_group
diff --git a/src/pubkey/if_algo/if_core.cpp b/src/pubkey/if_algo/if_core.cpp
index 8cc6a816f..9c4a12ee5 100644
--- a/src/pubkey/if_algo/if_core.cpp
+++ b/src/pubkey/if_algo/if_core.cpp
@@ -13,12 +13,6 @@
namespace Botan {
-namespace {
-
-const u32bit BLINDING_BITS = BOTAN_PRIVATE_KEY_OP_BLINDING_BITS;
-
-}
-
/*
* IF_Core Constructor
*/
@@ -36,6 +30,8 @@ IF_Core::IF_Core(RandomNumberGenerator& rng,
const BigInt& p, const BigInt& q,
const BigInt& d1, const BigInt& d2, const BigInt& c)
{
+ const u32bit BLINDING_BITS = BOTAN_PRIVATE_KEY_OP_BLINDING_BITS;
+
op = Engine_Core::if_op(e, n, d, p, q, d1, d2, c);
if(BLINDING_BITS)
diff --git a/src/pubkey/if_algo/info.txt b/src/pubkey/if_algo/info.txt
index ec948aec3..833117819 100644
--- a/src/pubkey/if_algo/info.txt
+++ b/src/pubkey/if_algo/info.txt
@@ -2,14 +2,17 @@ define IF_PUBLIC_KEY_FAMILY
load_on dep
-<add>
-if_algo.cpp
+<header:public>
if_algo.h
-if_core.cpp
if_core.h
-if_op.cpp
if_op.h
-</add>
+</header:public>
+
+<source>
+if_algo.cpp
+if_core.cpp
+if_op.cpp
+</source>
<requires>
asn1
diff --git a/src/pubkey/info.txt b/src/pubkey/info.txt
index ea6b4cb9b..69e743351 100644
--- a/src/pubkey/info.txt
+++ b/src/pubkey/info.txt
@@ -1,7 +1,5 @@
define PUBLIC_KEY_CRYPTO
-load_on auto
-
<requires>
alloc
asn1
diff --git a/src/pubkey/keypair/info.txt b/src/pubkey/keypair/info.txt
index 360d317c5..c6bf758cc 100644
--- a/src/pubkey/keypair/info.txt
+++ b/src/pubkey/keypair/info.txt
@@ -1,12 +1,5 @@
define KEYPAIR_TESTING
-load_on auto
-
-<add>
-keypair.cpp
-keypair.h
-</add>
-
<requires>
libstate
</requires>
diff --git a/src/pubkey/nr/info.txt b/src/pubkey/nr/info.txt
index dcf22033e..c0886ac07 100644
--- a/src/pubkey/nr/info.txt
+++ b/src/pubkey/nr/info.txt
@@ -1,16 +1,5 @@
define NYBERG_RUEPPEL
-load_on auto
-
-<add>
-nr.cpp
-nr.h
-nr_core.cpp
-nr_core.h
-nr_op.cpp
-nr_op.h
-</add>
-
<requires>
dl_algo
dl_group
diff --git a/src/pubkey/pk_codecs/info.txt b/src/pubkey/pk_codecs/info.txt
index 55c71b0c9..64fb10b8a 100644
--- a/src/pubkey/pk_codecs/info.txt
+++ b/src/pubkey/pk_codecs/info.txt
@@ -1,12 +1,3 @@
-load_on auto
-
-<add>
-pkcs8.h
-pkcs8.cpp
-x509_key.h
-x509_key.cpp
-</add>
-
<requires>
asn1
filters
diff --git a/src/pubkey/rsa/info.txt b/src/pubkey/rsa/info.txt
index c8bde68d0..877d092b6 100644
--- a/src/pubkey/rsa/info.txt
+++ b/src/pubkey/rsa/info.txt
@@ -1,12 +1,5 @@
define RSA
-load_on auto
-
-<add>
-rsa.cpp
-rsa.h
-</add>
-
<requires>
if_algo
keypair
diff --git a/src/pubkey/rw/info.txt b/src/pubkey/rw/info.txt
index 39857bccc..cb3e5531c 100644
--- a/src/pubkey/rw/info.txt
+++ b/src/pubkey/rw/info.txt
@@ -1,12 +1,5 @@
define RW
-load_on auto
-
-<add>
-rw.cpp
-rw.h
-</add>
-
<requires>
if_algo
keypair
diff --git a/src/rng/auto_rng/auto_rng.cpp b/src/rng/auto_rng/auto_rng.cpp
index 6906d9d17..5befc9d14 100644
--- a/src/rng/auto_rng/auto_rng.cpp
+++ b/src/rng/auto_rng/auto_rng.cpp
@@ -28,35 +28,35 @@
#endif
#if defined(BOTAN_HAS_ENTROPY_SRC_HIGH_RESOLUTION_TIMER)
- #include <botan/hres_timer.h>
+ #include <botan/internal/hres_timer.h>
#endif
-#if defined(BOTAN_HAS_ENTROPY_SRC_DEVICE)
- #include <botan/es_dev.h>
+#if defined(BOTAN_HAS_ENTROPY_SRC_DEV_RANDOM)
+ #include <botan/internal/dev_random.h>
#endif
#if defined(BOTAN_HAS_ENTROPY_SRC_EGD)
- #include <botan/es_egd.h>
+ #include <botan/internal/es_egd.h>
#endif
#if defined(BOTAN_HAS_ENTROPY_SRC_UNIX)
- #include <botan/es_unix.h>
+ #include <botan/internal/es_unix.h>
#endif
#if defined(BOTAN_HAS_ENTROPY_SRC_BEOS)
- #include <botan/es_beos.h>
+ #include <botan/internal/es_beos.h>
#endif
#if defined(BOTAN_HAS_ENTROPY_SRC_CAPI)
- #include <botan/es_capi.h>
+ #include <botan/internal/es_capi.h>
#endif
#if defined(BOTAN_HAS_ENTROPY_SRC_WIN32)
- #include <botan/es_win32.h>
+ #include <botan/internal/es_win32.h>
#endif
#if defined(BOTAN_HAS_ENTROPY_SRC_FTW)
- #include <botan/es_ftw.h>
+ #include <botan/internal/es_ftw.h>
#endif
namespace Botan {
@@ -72,7 +72,7 @@ void add_entropy_sources(RandomNumberGenerator* rng)
rng->add_entropy_source(new High_Resolution_Timestamp);
#endif
-#if defined(BOTAN_HAS_ENTROPY_SRC_DEVICE)
+#if defined(BOTAN_HAS_ENTROPY_SRC_DEV_RANDOM)
rng->add_entropy_source(
new Device_EntropySource(
split_on("/dev/urandom:/dev/random:/dev/srandom", ':')
diff --git a/src/rng/auto_rng/info.txt b/src/rng/auto_rng/info.txt
index 357dc17ad..0f7cee282 100644
--- a/src/rng/auto_rng/info.txt
+++ b/src/rng/auto_rng/info.txt
@@ -1,12 +1,5 @@
define AUTO_SEEDING_RNG
-load_on auto
-
-<add>
-auto_rng.h
-auto_rng.cpp
-</add>
-
<requires>
hmac
sha2
diff --git a/src/rng/hmac_rng/info.txt b/src/rng/hmac_rng/info.txt
index f6135ee5a..5facd4aae 100644
--- a/src/rng/hmac_rng/info.txt
+++ b/src/rng/hmac_rng/info.txt
@@ -1,12 +1,5 @@
define HMAC_RNG
-load_on auto
-
-<add>
-hmac_rng.cpp
-hmac_rng.h
-</add>
-
<requires>
mac
</requires>
diff --git a/src/rng/info.txt b/src/rng/info.txt
index eea122cf9..4c88ba382 100644
--- a/src/rng/info.txt
+++ b/src/rng/info.txt
@@ -1,10 +1,3 @@
-load_on auto
-
-<add>
-rng.cpp
-rng.h
-</add>
-
<requires>
entropy
</requires>
diff --git a/src/rng/randpool/info.txt b/src/rng/randpool/info.txt
index cab276e15..cc54e5d06 100644
--- a/src/rng/randpool/info.txt
+++ b/src/rng/randpool/info.txt
@@ -1,12 +1,5 @@
define RANDPOOL
-load_on auto
-
-<add>
-randpool.cpp
-randpool.h
-</add>
-
<requires>
block
mac
diff --git a/src/rng/x931_rng/info.txt b/src/rng/x931_rng/info.txt
index 35836b33b..d5ec68013 100644
--- a/src/rng/x931_rng/info.txt
+++ b/src/rng/x931_rng/info.txt
@@ -1,12 +1,5 @@
define X931_RNG
-load_on auto
-
-<add>
-x931_rng.cpp
-x931_rng.h
-</add>
-
<requires>
block
</requires>
diff --git a/src/s2k/info.txt b/src/s2k/info.txt
index 17f2a8c42..1d5226524 100644
--- a/src/s2k/info.txt
+++ b/src/s2k/info.txt
@@ -1,10 +1,3 @@
-load_on auto
-
-<add>
-s2k.cpp
-s2k.h
-</add>
-
<requires>
rng
sym_algo
diff --git a/src/s2k/pbkdf1/info.txt b/src/s2k/pbkdf1/info.txt
index 387043f1b..e51b44886 100644
--- a/src/s2k/pbkdf1/info.txt
+++ b/src/s2k/pbkdf1/info.txt
@@ -1,12 +1,5 @@
define PBKDF1
-load_on auto
-
-<add>
-pbkdf1.cpp
-pbkdf1.h
-</add>
-
<requires>
hash
</requires>
diff --git a/src/s2k/pbkdf2/info.txt b/src/s2k/pbkdf2/info.txt
index 56359d13d..5462b2e1b 100644
--- a/src/s2k/pbkdf2/info.txt
+++ b/src/s2k/pbkdf2/info.txt
@@ -1,12 +1,5 @@
define PBKDF2
-load_on auto
-
-<add>
-pbkdf2.cpp
-pbkdf2.h
-</add>
-
<requires>
mac
</requires>
diff --git a/src/s2k/pgps2k/info.txt b/src/s2k/pgps2k/info.txt
index a1f5b3dfd..8be9c79f8 100644
--- a/src/s2k/pgps2k/info.txt
+++ b/src/s2k/pgps2k/info.txt
@@ -1,12 +1,5 @@
define PGPS2K
-load_on auto
-
-<add>
-pgp_s2k.cpp
-pgp_s2k.h
-</add>
-
<requires>
hash
</requires>
diff --git a/src/selftest/info.txt b/src/selftest/info.txt
index 079fd5030..53c6d286d 100644
--- a/src/selftest/info.txt
+++ b/src/selftest/info.txt
@@ -1,12 +1,5 @@
define SELFTESTS
-load_on auto
-
-<add>
-selftest.cpp
-selftest.h
-</add>
-
<requires>
algo_factory
filters
diff --git a/src/stream/arc4/info.txt b/src/stream/arc4/info.txt
index bb373dbc5..e3022925c 100644
--- a/src/stream/arc4/info.txt
+++ b/src/stream/arc4/info.txt
@@ -1,12 +1 @@
define ARC4
-
-load_on auto
-
-<requires>
-stream
-</requires>
-
-<add>
-arc4.cpp
-arc4.h
-</add>
diff --git a/src/stream/ctr/info.txt b/src/stream/ctr/info.txt
index ac4f3f710..2fa2272fd 100644
--- a/src/stream/ctr/info.txt
+++ b/src/stream/ctr/info.txt
@@ -1,12 +1,5 @@
define CTR_BE
-load_on auto
-
-<add>
-ctr.cpp
-ctr.h
-</add>
-
<requires>
block
stream
diff --git a/src/stream/info.txt b/src/stream/info.txt
index 213c42137..68d6c46d6 100644
--- a/src/stream/info.txt
+++ b/src/stream/info.txt
@@ -1,11 +1,5 @@
-load_on auto
-
define STREAM_CIPHER
-<add>
-stream_cipher.h
-</add>
-
<requires>
sym_algo
</requires>
diff --git a/src/stream/ofb/info.txt b/src/stream/ofb/info.txt
index a01e9e1a6..702fea666 100644
--- a/src/stream/ofb/info.txt
+++ b/src/stream/ofb/info.txt
@@ -1,12 +1,5 @@
define OFB
-load_on auto
-
-<add>
-ofb.cpp
-ofb.h
-</add>
-
<requires>
block
stream
diff --git a/src/stream/salsa20/info.txt b/src/stream/salsa20/info.txt
index 8171708b0..1ce648d9f 100644
--- a/src/stream/salsa20/info.txt
+++ b/src/stream/salsa20/info.txt
@@ -1,12 +1 @@
define SALSA20
-
-load_on auto
-
-<requires>
-stream
-</requires>
-
-<add>
-salsa20.cpp
-salsa20.h
-</add>
diff --git a/src/stream/turing/info.txt b/src/stream/turing/info.txt
index dede0dd39..feb00a92d 100644
--- a/src/stream/turing/info.txt
+++ b/src/stream/turing/info.txt
@@ -1,13 +1 @@
define TURING
-
-load_on auto
-
-<requires>
-stream
-</requires>
-
-<add>
-tur_tab.cpp
-turing.cpp
-turing.h
-</add>
diff --git a/src/stream/wid_wake/info.txt b/src/stream/wid_wake/info.txt
index 6289e0369..f7333dede 100644
--- a/src/stream/wid_wake/info.txt
+++ b/src/stream/wid_wake/info.txt
@@ -1,12 +1 @@
define WID_WAKE
-
-load_on auto
-
-<requires>
-stream
-</requires>
-
-<add>
-wid_wake.cpp
-wid_wake.h
-</add>
diff --git a/src/sym_algo/info.txt b/src/sym_algo/info.txt
index fab46270e..cfdd9b691 100644
--- a/src/sym_algo/info.txt
+++ b/src/sym_algo/info.txt
@@ -1,11 +1,3 @@
-load_on auto
-
-<add>
-sym_algo.h
-symkey.cpp
-symkey.h
-</add>
-
<requires>
alloc
filters
diff --git a/src/utils/asm_amd64/info.txt b/src/utils/asm_amd64/info.txt
index fdfcbcb6a..93405e6ce 100644
--- a/src/utils/asm_amd64/info.txt
+++ b/src/utils/asm_amd64/info.txt
@@ -1,5 +1,9 @@
load_on dep
+<header:internal>
+asm_macr_amd64.h
+</header:internal>
+
<arch>
amd64
</arch>
diff --git a/src/utils/asm_ia32/info.txt b/src/utils/asm_ia32/info.txt
index d19fdd192..d490124f4 100644
--- a/src/utils/asm_ia32/info.txt
+++ b/src/utils/asm_ia32/info.txt
@@ -1,5 +1,9 @@
load_on dep
+<header:internal>
+asm_macr_ia32.h
+</header:internal>
+
<arch>
ia32
</arch>
diff --git a/src/utils/buf_comp/info.txt b/src/utils/buf_comp/info.txt
index 7aea580ce..b91fe5082 100644
--- a/src/utils/buf_comp/info.txt
+++ b/src/utils/buf_comp/info.txt
@@ -1,9 +1,3 @@
-load_on auto
-
-<add>
-buf_comp.h
-</add>
-
<requires>
alloc
</requires>
diff --git a/src/utils/datastor/info.txt b/src/utils/datastor/info.txt
index 9c995adaf..93e938d78 100644
--- a/src/utils/datastor/info.txt
+++ b/src/utils/datastor/info.txt
@@ -1,10 +1,3 @@
-load_on auto
-
-<add>
-datastor.cpp
-datastor.h
-</add>
-
<requires>
alloc
filters
diff --git a/src/utils/info.txt b/src/utils/info.txt
index 110afeb64..7324f55f6 100644
--- a/src/utils/info.txt
+++ b/src/utils/info.txt
@@ -2,6 +2,39 @@ define UTIL_FUNCTIONS
load_on always
+<source>
+charset.cpp
+cpuid.cpp
+exceptn.cpp
+mlock.cpp
+parsing.cpp
+time.cpp
+ui.cpp
+version.cpp
+</source>
+
+<header:public>
+bit_ops.h
+bswap.h
+charset.h
+cpuid.h
+loadstor.h
+mlock.h
+parsing.h
+prefetch.h
+rotate.h
+rounding.h
+stl_util.h
+time.h
+xor_buf.h
+
+exceptn.h
+mem_ops.h
+types.h
+ui.h
+version.h
+</header:public>
+
<libs>
linux,tru64 -> rt
</libs>
diff --git a/src/utils/simd_32/info.txt b/src/utils/simd_32/info.txt
index 883096a5d..08cbdfa52 100644
--- a/src/utils/simd_32/info.txt
+++ b/src/utils/simd_32/info.txt
@@ -1,3 +1,10 @@
define SIMD_32
load_on always
+
+<header:internal>
+simd_32.h
+simd_sse.h
+simd_scalar.h
+simd_altivec.h
+</header:internal>
diff --git a/src/utils/simd_32/simd_32.h b/src/utils/simd_32/simd_32.h
index 324db1a7d..38ea078d0 100644
--- a/src/utils/simd_32/simd_32.h
+++ b/src/utils/simd_32/simd_32.h
@@ -12,17 +12,17 @@
#if defined(BOTAN_TARGET_CPU_HAS_SSE2)
- #include <botan/simd_sse.h>
+ #include <botan/internal/simd_sse.h>
namespace Botan { typedef SIMD_SSE2 SIMD_32; }
#elif defined(BOTAN_TARGET_CPU_HAS_ALTIVEC)
- #include <botan/simd_altivec.h>
+ #include <botan/internal/simd_altivec.h>
namespace Botan { typedef SIMD_Altivec SIMD_32; }
#else
- #include <botan/simd_scalar.h>
+ #include <botan/internal/simd_scalar.h>
namespace Botan { typedef SIMD_Scalar SIMD_32; }
#endif
diff --git a/src/utils/simd_32/simd_altivec.h b/src/utils/simd_32/simd_altivec.h
index e1704e76c..9cc5c1068 100644
--- a/src/utils/simd_32/simd_altivec.h
+++ b/src/utils/simd_32/simd_altivec.h
@@ -8,6 +8,8 @@
#ifndef BOTAN_SIMD_ALTIVEC_H__
#define BOTAN_SIMD_ALTIVEC_H__
+#if defined(BOTAN_TARGET_CPU_HAS_ALTIVEC)
+
#include <botan/loadstor.h>
#include <botan/cpuid.h>
@@ -207,3 +209,5 @@ class SIMD_Altivec
}
#endif
+
+#endif
diff --git a/src/utils/simd_32/simd_sse.h b/src/utils/simd_32/simd_sse.h
index 9f03b3733..31bbce2c7 100644
--- a/src/utils/simd_32/simd_sse.h
+++ b/src/utils/simd_32/simd_sse.h
@@ -8,8 +8,9 @@
#ifndef BOTAN_SIMD_SSE_H__
#define BOTAN_SIMD_SSE_H__
-#include <botan/cpuid.h>
+#if defined(BOTAN_TARGET_CPU_HAS_SSE2)
+#include <botan/cpuid.h>
#include <emmintrin.h>
namespace Botan {
@@ -159,3 +160,5 @@ class SIMD_SSE2
}
#endif
+
+#endif