Files
email-tracker/external/duckdb/third_party/mbedtls/inline_mbedtls.py
2025-10-24 19:21:19 -05:00

50 lines
1.6 KiB
Python

import os
version = '3.6.4'
# os.system(f'wget https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/mbedtls-{version}.tar.gz')
# os.system(f'tar xvf mbedtls-{version}.tar.gz')
directories = ['include', 'library']
source_dir = f'mbedtls-mbedtls-{version}'
target_dir = '.'
extensions = ['.h', '.hpp', '.c', '.cpp']
class FileToCopy:
def __init__(self, source, target):
self.source_file = source
self.target_file = target
def get_copy_list(source_dir, target_dir):
result = []
for file in os.listdir(source_dir):
is_source_file = False
for ext in extensions:
if file.endswith(ext):
is_source_file = True
if not is_source_file:
continue
target_file_name = file
if target_file_name.endswith('.c'):
target_file_name = target_file_name[:-2] + '.cpp'
source_file = os.path.join(source_dir, file)
target_file = os.path.join(target_dir, target_file_name)
if os.path.isdir(source_file):
result += get_copy_list(source_file, target_file)
if not os.path.isfile(target_file):
continue
# check if this is a dummy file
with open(target_file, 'r') as f:
text = f.read()
if '// dummy file' in text:
continue
print(target_file)
result.append(FileToCopy(source_file, target_file))
return result
copy_list = []
for directory in directories:
copy_list += get_copy_list(os.path.join(source_dir, directory), os.path.join(target_dir, directory))
for file in copy_list:
os.system(f'cp {file.source_file} {file.target_file}')