diff options
author | lloyd <[email protected]> | 2009-12-16 02:22:58 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2009-12-16 02:22:58 +0000 |
commit | 12afeca214c4414a0ced0bc4654d0fc5908dc77b (patch) | |
tree | d0706f470d406d68b4ec1f559d2e0f6426174c28 /configure.py | |
parent | 87cbaef441c6baba2699a8ea53ac2562c46c772d (diff) |
Make many more headers internal-only.
Fixes for the amalgamation generator for internal headers.
Remove BOTAN_DLL exporting macros from all internal-only headers;
the classes/functions there don't need to be exported, and
avoiding the PIC/GOT indirection can be a big win.
Add missing BOTAN_DLLs where necessary, mostly gfpmath and cvc
For GCC, use -fvisibility=hidden and set BOTAN_DLL to the
visibility __attribute__ to export those classes/functions.
Diffstat (limited to 'configure.py')
-rwxr-xr-x | configure.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/configure.py b/configure.py index a6adf91ab..cda5020c4 100755 --- a/configure.py +++ b/configure.py @@ -1255,6 +1255,8 @@ def generate_amalgamation(build_config): self.header_includes += '\n' def header_contents(self, name): + name = name.replace('internal/', '') + if name in self.included_already: return @@ -1300,7 +1302,9 @@ def generate_amalgamation(build_config): botan_all_h.write(pub_header_amalag.contents) botan_all_h.write("\n#endif\n") - internal_header_amalag = Amalgamation_Generator(build_config.internal_headers) + internal_header_amalag = Amalgamation_Generator( + filter(lambda s: s.find('asm_macr_') == -1, + build_config.internal_headers)) botan_all_cpp = open('botan_all.cpp', 'w') @@ -1311,7 +1315,11 @@ def generate_amalgamation(build_config): botan_all_cpp.write(internal_header_amalag.header_includes) botan_all_cpp.write(internal_header_amalag.contents) + for src in build_config.sources: + if src.endswith('.S'): + continue + contents = open(src).readlines() for line in contents: if botan_include.search(line): |