diff --git a/scripts/generate_ssl_debug_helpers.py b/scripts/generate_ssl_debug_helpers.py index fb726901d..19fac656c 100755 --- a/scripts/generate_ssl_debug_helpers.py +++ b/scripts/generate_ssl_debug_helpers.py @@ -281,6 +281,7 @@ def generate_ssl_debug_helpers(output_directory, mbedtls_root): """ Generate functions of debug helps """ + mbedtls_root = os.path.abspath(mbedtls_root or build_tree.guess_mbedtls_root()) with open(os.path.join(mbedtls_root, 'include/mbedtls/ssl.h')) as f: source_code = remove_c_comments(f.read()) @@ -319,7 +320,7 @@ def main(): Command line entry """ parser = argparse.ArgumentParser() - parser.add_argument('--mbedtls-root', nargs='?', default=build_tree.guess_mbedtls_root(), + parser.add_argument('--mbedtls-root', nargs='?', default=None, help='root directory of mbedtls source code') parser.add_argument('output_directory', nargs='?', default='library', help='source/header files location') diff --git a/scripts/mbedtls_dev/build_tree.py b/scripts/mbedtls_dev/build_tree.py index aee68f140..3920d0ed6 100644 --- a/scripts/mbedtls_dev/build_tree.py +++ b/scripts/mbedtls_dev/build_tree.py @@ -47,9 +47,10 @@ def guess_mbedtls_root(): Return the first possible mbedTLS root directory """ dirs = set({}) - for i in inspect.stack(): - path = os.path.dirname(i.filename) - for d in ['.', os.path.pardir, os.path.join(*([os.path.pardir]*2))]: + for frame in inspect.stack(): + path = os.path.dirname(frame.filename) + for d in ['.', os.path.pardir] \ + + [os.path.join(*([os.path.pardir]*i)) for i in range(2, 10)]: d = os.path.abspath(os.path.join(path, d)) if d in dirs: continue