aboutsummaryrefslogtreecommitdiffstats
path: root/configure.py
diff options
context:
space:
mode:
authorlloyd <[email protected]>2009-12-16 02:22:58 +0000
committerlloyd <[email protected]>2009-12-16 02:22:58 +0000
commit12afeca214c4414a0ced0bc4654d0fc5908dc77b (patch)
treed0706f470d406d68b4ec1f559d2e0f6426174c28 /configure.py
parent87cbaef441c6baba2699a8ea53ac2562c46c772d (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-xconfigure.py10
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):