Recognize ".cc" and ".hh" source file extensions

".cc" --> C++ source code
".hh" --> header

This change allows existing source code with this naming
convention (e.g. my company's) to be used in mbed.os projects.
pull/7518/head
Jens Alfke 2018-07-06 10:10:22 -07:00 committed by Cruz Monrreal II
parent 0f9a956799
commit b0f31e38b5
1 changed files with 7 additions and 5 deletions

View File

@ -722,10 +722,10 @@ class mbedToolchain:
elif ext == '.c': elif ext == '.c':
resources.c_sources.append(file_path) resources.c_sources.append(file_path)
elif ext == '.cpp': elif ext == '.cpp' or ext == '.cc':
resources.cpp_sources.append(file_path) resources.cpp_sources.append(file_path)
elif ext == '.h' or ext == '.hpp': elif ext == '.h' or ext == '.hpp' or ext == '.hh':
resources.headers.append(file_path) resources.headers.append(file_path)
elif ext == '.o': elif ext == '.o':
@ -992,7 +992,9 @@ class mbedToolchain:
_, ext = splitext(source) _, ext = splitext(source)
ext = ext.lower() ext = ext.lower()
if ext == '.c' or ext == '.cpp': source = abspath(source) if PRINT_COMPILER_OUTPUT_AS_LINK else source
if ext == '.c' or ext == '.cpp' or ext == '.cc':
base, _ = splitext(object) base, _ = splitext(object)
dep_path = base + '.d' dep_path = base + '.d'
try: try:
@ -1002,12 +1004,12 @@ class mbedToolchain:
config_file = ([self.config.app_config_location] config_file = ([self.config.app_config_location]
if self.config.app_config_location else []) if self.config.app_config_location else [])
deps.extend(config_file) deps.extend(config_file)
if ext == '.cpp' or self.COMPILE_C_AS_CPP: if ext != '.c' or self.COMPILE_C_AS_CPP:
deps.append(join(self.build_dir, self.PROFILE_FILE_NAME + "-cxx")) deps.append(join(self.build_dir, self.PROFILE_FILE_NAME + "-cxx"))
else: else:
deps.append(join(self.build_dir, self.PROFILE_FILE_NAME + "-c")) deps.append(join(self.build_dir, self.PROFILE_FILE_NAME + "-c"))
if len(deps) == 0 or self.need_update(object, deps): if len(deps) == 0 or self.need_update(object, deps):
if ext == '.cpp' or self.COMPILE_C_AS_CPP: if ext != '.c' or self.COMPILE_C_AS_CPP:
return self.compile_cpp(source, object, includes) return self.compile_cpp(source, object, includes)
else: else:
return self.compile_c(source, object, includes) return self.compile_c(source, object, includes)