From c8b570ff5d3f378fc49f3423d0c2f8d0135884bd Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sat, 19 Feb 2022 19:51:24 -0800 Subject: [PATCH 01/23] Update schema.cmake --- buildcc/schema/cmake/schema.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/buildcc/schema/cmake/schema.cmake b/buildcc/schema/cmake/schema.cmake index 99d9949c..a3d21867 100644 --- a/buildcc/schema/cmake/schema.cmake +++ b/buildcc/schema/cmake/schema.cmake @@ -68,6 +68,9 @@ if(${BUILDCC_BUILD_AS_INTERFACE}) $ $ ) + target_link_libraries(schema PUBLIC + env + ) target_include_directories(schema PRIVATE ${SCHEMA_BUILD_DIR} ) @@ -75,7 +78,6 @@ if(${BUILDCC_BUILD_AS_INTERFACE}) target_link_options(schema PRIVATE ${BUILD_LINK_FLAGS}) target_link_libraries(schema PRIVATE flatbuffers_header_only - env ) add_dependencies(schema fbs_to_header) endif() From 809967008da7471b4ea2f9153ec301659d3d4b9a Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sat, 19 Feb 2022 19:51:45 -0800 Subject: [PATCH 02/23] Added toolchain_config.h --- .../toolchain/common/toolchain_config.h | 101 ++++++++++++++++++ .../toolchain/src/common/toolchain_config.cpp | 88 +++++++++++++++ 2 files changed, 189 insertions(+) create mode 100644 buildcc/lib/toolchain/include/toolchain/common/toolchain_config.h create mode 100644 buildcc/lib/toolchain/src/common/toolchain_config.cpp diff --git a/buildcc/lib/toolchain/include/toolchain/common/toolchain_config.h b/buildcc/lib/toolchain/include/toolchain/common/toolchain_config.h new file mode 100644 index 00000000..8cdcce3b --- /dev/null +++ b/buildcc/lib/toolchain/include/toolchain/common/toolchain_config.h @@ -0,0 +1,101 @@ +/* + * Copyright 2021-2022 Niket Naidu. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TOOLCHAIN_COMMON_TOOLCHAIN_CONFIG_H_ +#define TOOLCHAIN_COMMON_TOOLCHAIN_CONFIG_H_ + +#include +#include +#include + +#include "toolchain/common/file_ext.h" + +namespace fs = std::filesystem; + +namespace buildcc { + +struct ToolchainConfig { + ToolchainConfig() = default; + + /** + * @brief Get the valid file extension from a path + * + * See ToolchainConfig::valid_c_ext, ToolchainConfig::valid_cpp_ext, + * ToolchainConfig::valid_asm_ext, ToolchainConfig::valid_header_ext + * + * @param filepath Absolute / Relative path of the file + * @return FileExt File path detected as per Toolchain::valid_* + * variables + */ + FileExt GetFileExt(const fs::path &filepath) const; + + /** + * @brief Checks for C/C++ source file validity. + * + * See ToolchainConfig::valid_c_ext, ToolchainConfig::valid_cpp_ext, + * ToolchainConfig::valid_asm_ext + * + * @param filepath Absolute / Relative path of file + * @return true If file extension belongs to the above valid_* list + * @return false If file extension does not belong to the above valid_* list + */ + bool IsValidSource(const fs::path &filepath) const; + + /** + * @brief Checks for Header file validity + * + * See ToolchainConfig::valid_header_ext + * + * @param filepath Absolute / Relative path of file + * @return true If file extension belongs to above valid_* list + * @return false If file extension does not belong to above valid_* list + */ + bool IsValidHeader(const fs::path &filepath) const; + + /** + * @brief Expects Source file validity + * + * env::assert_fatal if not a valid source + * + * @param filepath Absolute / Relative path of file + */ + void ExpectsValidSource(const fs::path &filepath) const; + + /** + * @brief Expects header file validity + * + * env::assert_fatal if not a valid header + * + * @param filepath Absolute / Relative path of file + */ + void ExpectsValidHeader(const fs::path &filepath) const; + + std::string obj_ext{".o"}; + std::string pch_header_ext{".h"}; + std::string pch_compile_ext{".gch"}; + + std::string prefix_include_dir{"-I"}; + std::string prefix_lib_dir{"-L"}; + + std::unordered_set valid_c_ext{".c"}; + std::unordered_set valid_cpp_ext{".cpp", ".cxx", ".cc"}; + std::unordered_set valid_asm_ext{".s", ".S", ".asm"}; + std::unordered_set valid_header_ext{".h", ".hpp"}; +}; + +} // namespace buildcc + +#endif diff --git a/buildcc/lib/toolchain/src/common/toolchain_config.cpp b/buildcc/lib/toolchain/src/common/toolchain_config.cpp new file mode 100644 index 00000000..55125dd4 --- /dev/null +++ b/buildcc/lib/toolchain/src/common/toolchain_config.cpp @@ -0,0 +1,88 @@ +/* + * Copyright 2021-2022 Niket Naidu. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "toolchain/common/toolchain_config.h" + +#include "env/assert_fatal.h" + +#include "schema/path.h" + +#include "fmt/format.h" + +namespace buildcc { + +FileExt ToolchainConfig::GetFileExt(const fs::path &filepath) const { + if (!filepath.has_extension()) { + return FileExt::Invalid; + } + + FileExt type = FileExt::Invalid; + const std::string ext = filepath.extension().string(); + + if (valid_c_ext.count(ext) == 1) { + type = FileExt::C; + } else if (valid_cpp_ext.count(ext) == 1) { + type = FileExt::Cpp; + } else if (valid_asm_ext.count(ext) == 1) { + type = FileExt::Asm; + } else if (valid_header_ext.count(ext) == 1) { + type = FileExt::Header; + } + + return type; +} + +bool ToolchainConfig::IsValidSource(const fs::path &filepath) const { + if (!filepath.has_extension()) { + return false; + } + + const std::string ext = filepath.extension().string(); + bool valid = false; + if ((valid_c_ext.find(ext) != valid_c_ext.end()) || + (valid_cpp_ext.find(ext) != valid_cpp_ext.end()) || + (valid_asm_ext.find(ext) != valid_asm_ext.end())) { + valid = true; + } + return valid; +} + +void ToolchainConfig::ExpectsValidSource(const fs::path &filepath) const { + env::assert_fatal( + IsValidSource(filepath), + fmt::format("{} does not have a valid source extension", filepath)); +} + +bool ToolchainConfig::IsValidHeader(const fs::path &filepath) const { + if (!filepath.has_extension()) { + return {}; + } + + const std::string ext = filepath.extension().string(); + bool valid = false; + if ((valid_header_ext.find(ext) != valid_header_ext.end())) { + valid = true; + } + return valid; +} + +void ToolchainConfig::ExpectsValidHeader(const fs::path &filepath) const { + env::assert_fatal( + IsValidHeader(filepath), + fmt::format("{} does not have a valid header extension", filepath)); +} + +} // namespace buildcc From 38f196f8169250b32502b62024b1abe6addd7f11 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sat, 19 Feb 2022 19:51:51 -0800 Subject: [PATCH 03/23] Create file_ext.h --- .../include/toolchain/common/file_ext.h | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 buildcc/lib/toolchain/include/toolchain/common/file_ext.h diff --git a/buildcc/lib/toolchain/include/toolchain/common/file_ext.h b/buildcc/lib/toolchain/include/toolchain/common/file_ext.h new file mode 100644 index 00000000..64a35660 --- /dev/null +++ b/buildcc/lib/toolchain/include/toolchain/common/file_ext.h @@ -0,0 +1,32 @@ +/* + * Copyright 2021-2022 Niket Naidu. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TOOLCHAIN_COMMON_FILE_EXT_H_ +#define TOOLCHAIN_COMMON_FILE_EXT_H_ + +namespace buildcc { + +enum class FileExt { + Asm, ///< Valid Assembly source extension + C, ///< Valid C source extension + Cpp, ///< Valid Cpp source extension + Header, ///< Valid Header extension + Invalid, ///< Not a valid C/C++ family extension +}; + +} + +#endif From 7a22863259195ff81f0dd26cd831ee175ce87c34 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sat, 19 Feb 2022 19:52:03 -0800 Subject: [PATCH 04/23] Update CMakeLists.txt --- buildcc/lib/toolchain/CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/buildcc/lib/toolchain/CMakeLists.txt b/buildcc/lib/toolchain/CMakeLists.txt index edb0cc09..98d2cd61 100644 --- a/buildcc/lib/toolchain/CMakeLists.txt +++ b/buildcc/lib/toolchain/CMakeLists.txt @@ -1,6 +1,12 @@ set(TOOLCHAIN_SRCS include/toolchain/toolchain.h + include/toolchain/common/file_ext.h + + src/common/toolchain_config.cpp + include/toolchain/common/toolchain_config.h + + # Features src/api/toolchain_verify.cpp include/toolchain/api/toolchain_verify.h ) @@ -14,7 +20,7 @@ if (${TESTING}) target_compile_options(mock_toolchain PUBLIC ${TEST_COMPILE_FLAGS} ${BUILD_COMPILE_FLAGS}) target_link_options(mock_toolchain PUBLIC ${TEST_LINK_FLAGS} ${BUILD_LINK_FLAGS}) target_link_libraries(mock_toolchain PUBLIC - mock_env + mock_schema CppUTest CppUTestExt @@ -53,7 +59,7 @@ if(${BUILDCC_BUILD_AS_INTERFACE}) $ ) target_link_libraries(toolchain PUBLIC - env + schema ) endif() From c10605fe48bc37fc1478d8d439dc9001c6049c23 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sat, 19 Feb 2022 19:52:08 -0800 Subject: [PATCH 05/23] Update toolchain.h --- buildcc/lib/toolchain/include/toolchain/toolchain.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/buildcc/lib/toolchain/include/toolchain/toolchain.h b/buildcc/lib/toolchain/include/toolchain/toolchain.h index f46c3d41..1bd6d717 100644 --- a/buildcc/lib/toolchain/include/toolchain/toolchain.h +++ b/buildcc/lib/toolchain/include/toolchain/toolchain.h @@ -21,7 +21,9 @@ #include #include -#include "api/toolchain_verify.h" +#include "toolchain/common/toolchain_config.h" + +#include "toolchain/api/toolchain_verify.h" namespace buildcc { @@ -41,10 +43,11 @@ class Toolchain : public ToolchainVerify { explicit Toolchain(Id id, std::string_view name, std::string_view asm_compiler, std::string_view c_compiler, std::string_view cpp_compiler, std::string_view archiver, - std::string_view linker) + std::string_view linker, + const ToolchainConfig &config = ToolchainConfig()) : id_(id), name_(name), asm_compiler_(asm_compiler), c_compiler_(c_compiler), cpp_compiler_(cpp_compiler), - archiver_(archiver), linker_(linker) {} + archiver_(archiver), linker_(linker), config_(config) {} Toolchain(Toolchain &&toolchain) = default; Toolchain(const Toolchain &toolchain) = delete; @@ -58,6 +61,8 @@ class Toolchain : public ToolchainVerify { const std::string &GetArchiver() const { return archiver_; } const std::string &GetLinker() const { return linker_; } + const ToolchainConfig &GetConfig() const { return config_; } + private: friend class ToolchainVerify; @@ -69,6 +74,8 @@ class Toolchain : public ToolchainVerify { std::string cpp_compiler_; std::string archiver_; std::string linker_; + + ToolchainConfig config_; }; typedef Toolchain::Id ToolchainId; From 4f6de50d2d947f78447128217d3fa9bae89d2b90 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 19:40:09 -0800 Subject: [PATCH 06/23] Add toolchain_ to target_info --- buildcc/lib/target/include/target/target.h | 6 ++++-- buildcc/lib/target/include/target/target_info.h | 8 ++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index 4a75c230..7b2d4a46 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -70,10 +70,12 @@ class Target : public internal::BuilderInterface, const Toolchain &toolchain, const TargetEnv &env, const TargetConfig &config = TargetConfig()) : TargetInfo( + toolchain, TargetEnv(env.GetTargetRootDir(), env.GetTargetBuildDir() / toolchain.GetName() / name), config), - name_(name), type_(type), toolchain_(toolchain), + name_(name), type_(type), + // toolchain_(toolchain), // loader_(name, env_.GetTargetBuildDir()), serialization_(env_.GetTargetBuildDir() / fmt::format("{}.bin", name)), compile_pch_(*this), compile_object_(*this), link_target_(*this) { @@ -139,7 +141,7 @@ class Target : public internal::BuilderInterface, private: std::string name_; TargetType type_; - const Toolchain &toolchain_; + // const Toolchain &toolchain_; internal::TargetSerialization serialization_; // Friend classes diff --git a/buildcc/lib/target/include/target/target_info.h b/buildcc/lib/target/include/target/target_info.h index aa3c22ca..fb795161 100644 --- a/buildcc/lib/target/include/target/target_info.h +++ b/buildcc/lib/target/include/target/target_info.h @@ -19,6 +19,8 @@ #include +#include "toolchain/toolchain.h" + #include "target/common/target_config.h" #include "target/common/target_env.h" #include "target/common/target_state.h" @@ -60,8 +62,9 @@ class TargetInfo : public internal::SourceApi, public internal::SyncApi, public internal::TargetInfoGetter { public: - TargetInfo(const TargetEnv &env, const TargetConfig &config = TargetConfig()) - : env_(env), config_(config) {} + TargetInfo(const BaseToolchain &toolchain, const TargetEnv &env, + const TargetConfig &config = TargetConfig()) + : toolchain_(toolchain), env_(env), config_(config) {} private: // Inputs @@ -79,6 +82,7 @@ class TargetInfo : public internal::SourceApi, friend class internal::TargetInfoGetter; protected: + const BaseToolchain &toolchain_; TargetEnv env_; TargetConfig config_; From a1c939f8b4bc22b4f17eb4c48684a42007adfd48 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 19:40:14 -0800 Subject: [PATCH 07/23] Update build_buildcc.cpp --- bootstrap/src/build_buildcc.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/bootstrap/src/build_buildcc.cpp b/bootstrap/src/build_buildcc.cpp index 33b1066b..2895627c 100644 --- a/bootstrap/src/build_buildcc.cpp +++ b/bootstrap/src/build_buildcc.cpp @@ -205,33 +205,35 @@ void BuildBuildCC::Setup(const ArgToolchainState &state) { // Flatbuffers HO lib auto &flatbuffers_ho_lib = storage_.Add( - kFlatbuffersHoName, + kFlatbuffersHoName, toolchain_, TargetEnv(env_.GetTargetRootDir() / "third_party" / "flatbuffers", env_.GetTargetBuildDir())); reg_.CallbackIf(state, flatbuffers_ho_cb, flatbuffers_ho_lib); // CLI11 HO lib auto &cli11_ho_lib = storage_.Add( - kCli11HoName, TargetEnv(env_.GetTargetRootDir() / "third_party" / "CLI11", - env_.GetTargetBuildDir())); + kCli11HoName, toolchain_, + TargetEnv(env_.GetTargetRootDir() / "third_party" / "CLI11", + env_.GetTargetBuildDir())); reg_.CallbackIf(state, cli11_ho_cb, cli11_ho_lib); // fmt HO lib auto &fmt_ho_lib = storage_.Add( - kFmtHoName, TargetEnv(env_.GetTargetRootDir() / "third_party" / "fmt", - env_.GetTargetBuildDir())); + kFmtHoName, toolchain_, + TargetEnv(env_.GetTargetRootDir() / "third_party" / "fmt", + env_.GetTargetBuildDir())); reg_.CallbackIf(state, fmt_ho_cb, fmt_ho_lib); // spdlog HO lib auto &spdlog_ho_lib = storage_.Add( - kSpdlogHoName, + kSpdlogHoName, toolchain_, TargetEnv(env_.GetTargetRootDir() / "third_party" / "spdlog", env_.GetTargetBuildDir())); reg_.CallbackIf(state, spdlog_ho_cb, spdlog_ho_lib); // taskflow HO lib auto &taskflow_ho_lib = storage_.Add( - kTaskflowHoName, + kTaskflowHoName, toolchain_, TargetEnv(env_.GetTargetRootDir() / "third_party" / "taskflow", env_.GetTargetBuildDir())); reg_.CallbackIf(state, taskflow_ho_cb, taskflow_ho_lib); From a1c5b323340f296669e5996faa98091dc4544b46 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 19:40:18 -0800 Subject: [PATCH 08/23] Update build.cpp --- example/hybrid/target_info/build.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/example/hybrid/target_info/build.cpp b/example/hybrid/target_info/build.cpp index 25aa1a4a..3fb2cf26 100644 --- a/example/hybrid/target_info/build.cpp +++ b/example/hybrid/target_info/build.cpp @@ -33,8 +33,10 @@ int main(int argc, char **argv) { Toolchain_msvc msvc; // TargetInfo - TargetInfo genericadd_ho("files"); - reg.Callback(genericadd_ho_cb, genericadd_ho); + TargetInfo gcc_genericadd_ho(gcc, "files"); + TargetInfo msvc_genericadd_ho(msvc, "files"); + reg.Callback(genericadd_ho_cb, gcc_genericadd_ho); + reg.Callback(genericadd_ho_cb, msvc_genericadd_ho); ExecutableTarget_gcc g_genericadd1("generic_add_1", gcc, "files"); ExecutableTarget_msvc m_genericadd1("generic_add_1", msvc, "files"); @@ -43,11 +45,15 @@ int main(int argc, char **argv) { ExecutableTarget_msvc m_genericadd2("generic_add_2", msvc, "files"); // Select your builds and tests using the .toml files - reg.Build(arg_gcc.state, genericadd1_build_cb, g_genericadd1, genericadd_ho); - reg.Build(arg_msvc.state, genericadd1_build_cb, m_genericadd1, genericadd_ho); - - reg.Build(arg_gcc.state, genericadd2_build_cb, g_genericadd2, genericadd_ho); - reg.Build(arg_msvc.state, genericadd2_build_cb, m_genericadd2, genericadd_ho); + reg.Build(arg_gcc.state, genericadd1_build_cb, g_genericadd1, + gcc_genericadd_ho); + reg.Build(arg_gcc.state, genericadd2_build_cb, g_genericadd2, + gcc_genericadd_ho); + + reg.Build(arg_msvc.state, genericadd1_build_cb, m_genericadd1, + msvc_genericadd_ho); + reg.Build(arg_msvc.state, genericadd2_build_cb, m_genericadd2, + msvc_genericadd_ho); // 5. Test steps // NOTE, For now they are just dummy callbacks From ae26cd0a5f82d6827d519adedf9762352c14dd66 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 19:45:37 -0800 Subject: [PATCH 09/23] Updated TargetConfig --- .../include/target/common/target_config.h | 66 ------------------- .../lib/target/src/common/target_config.cpp | 65 +----------------- 2 files changed, 1 insertion(+), 130 deletions(-) diff --git a/buildcc/lib/target/include/target/common/target_config.h b/buildcc/lib/target/include/target/common/target_config.h index 172c52b0..a09d2595 100644 --- a/buildcc/lib/target/include/target/common/target_config.h +++ b/buildcc/lib/target/include/target/common/target_config.h @@ -21,8 +21,6 @@ #include #include -#include "target/common/target_file_ext.h" - namespace fs = std::filesystem; namespace buildcc { @@ -30,77 +28,13 @@ namespace buildcc { struct TargetConfig { TargetConfig() = default; - /** - * @brief Get the valid file extension from a path - * - * See TargetConfig::valid_c_ext, TargetConfig::valid_cpp_ext, - * TargetConfig::valid_asm_ext, TargetConfig::valid_header_ext - * - * @param filepath Absolute / Relative path of the file - * @return TargetFileExt File path detected as per TargetConfig::valid_* - * variables - */ - TargetFileExt GetFileExt(const fs::path &filepath) const; - - /** - * @brief Checks for C/C++ source file validity. - * - * See TargetConfig::valid_c_ext, TargetConfig::valid_cpp_ext, - * TargetConfig::valid_asm_ext - * - * @param filepath Absolute / Relative path of file - * @return true If file extension belongs to the above valid_* list - * @return false If file extension does not belong to the above valid_* list - */ - bool IsValidSource(const fs::path &filepath) const; - - /** - * @brief Checks for Header file validity - * - * See TargetConfig::valid_header_ext - * - * @param filepath Absolute / Relative path of file - * @return true If file extension belongs to above valid_* list - * @return false If file extension does not belong to above valid_* list - */ - bool IsValidHeader(const fs::path &filepath) const; - - /** - * @brief Expects Source file validity - * - * env::assert_fatal if not a valid source - * - * @param filepath Absolute / Relative path of file - */ - void ExpectsValidSource(const fs::path &filepath) const; - - /** - * @brief Expects header file validity - * - * env::assert_fatal if not a valid header - * - * @param filepath Absolute / Relative path of file - */ - void ExpectsValidHeader(const fs::path &filepath) const; - std::string target_ext{""}; - std::string obj_ext{".o"}; - std::string pch_header_ext{".h"}; - std::string pch_compile_ext{".gch"}; - - std::string prefix_include_dir{"-I"}; - std::string prefix_lib_dir{"-L"}; // clang-format off std::string pch_command{"{compiler} {preprocessor_flags} {include_dirs} {common_compile_flags} {pch_compile_flags} {compile_flags} -o {output} -c {input}"}; std::string compile_command{"{compiler} {preprocessor_flags} {include_dirs} {common_compile_flags} {pch_object_flags} {compile_flags} -o {output} -c {input}"}; std::string link_command{"{cpp_compiler} {link_flags} {compiled_sources} -o {output} {lib_dirs} {lib_deps}"}; // clang-format on - - std::unordered_set valid_c_ext{".c"}; - std::unordered_set valid_cpp_ext{".cpp", ".cxx", ".cc"}; - std::unordered_set valid_asm_ext{".s", ".S", ".asm"}; - std::unordered_set valid_header_ext{".h", ".hpp"}; }; } // namespace buildcc diff --git a/buildcc/lib/target/src/common/target_config.cpp b/buildcc/lib/target/src/common/target_config.cpp index 3f7b5135..23207ac1 100644 --- a/buildcc/lib/target/src/common/target_config.cpp +++ b/buildcc/lib/target/src/common/target_config.cpp @@ -22,67 +22,4 @@ #include "fmt/format.h" -namespace buildcc { - -TargetFileExt TargetConfig::GetFileExt(const fs::path &filepath) const { - if (!filepath.has_extension()) { - return TargetFileExt::Invalid; - } - - TargetFileExt type = TargetFileExt::Invalid; - const std::string ext = filepath.extension().string(); - - if (valid_c_ext.count(ext) == 1) { - type = TargetFileExt::C; - } else if (valid_cpp_ext.count(ext) == 1) { - type = TargetFileExt::Cpp; - } else if (valid_asm_ext.count(ext) == 1) { - type = TargetFileExt::Asm; - } else if (valid_header_ext.count(ext) == 1) { - type = TargetFileExt::Header; - } - - return type; -} - -bool TargetConfig::IsValidSource(const fs::path &filepath) const { - if (!filepath.has_extension()) { - return false; - } - - const std::string ext = filepath.extension().string(); - bool valid = false; - if ((valid_c_ext.find(ext) != valid_c_ext.end()) || - (valid_cpp_ext.find(ext) != valid_cpp_ext.end()) || - (valid_asm_ext.find(ext) != valid_asm_ext.end())) { - valid = true; - } - return valid; -} - -void TargetConfig::ExpectsValidSource(const fs::path &filepath) const { - env::assert_fatal( - IsValidSource(filepath), - fmt::format("{} does not have a valid source extension", filepath)); -} - -bool TargetConfig::IsValidHeader(const fs::path &filepath) const { - if (!filepath.has_extension()) { - return {}; - } - - const std::string ext = filepath.extension().string(); - bool valid = false; - if ((valid_header_ext.find(ext) != valid_header_ext.end())) { - valid = true; - } - return valid; -} - -void TargetConfig::ExpectsValidHeader(const fs::path &filepath) const { - env::assert_fatal( - IsValidHeader(filepath), - fmt::format("{} does not have a valid header extension", filepath)); -} - -} // namespace buildcc +namespace buildcc {} // namespace buildcc From c64f63cc6dca3441180126eeafec7efa3995dd1f Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 19:45:47 -0800 Subject: [PATCH 10/23] Delete target_file_ext.h --- .../include/target/common/target_file_ext.h | 32 ------------------- 1 file changed, 32 deletions(-) delete mode 100644 buildcc/lib/target/include/target/common/target_file_ext.h diff --git a/buildcc/lib/target/include/target/common/target_file_ext.h b/buildcc/lib/target/include/target/common/target_file_ext.h deleted file mode 100644 index bab96289..00000000 --- a/buildcc/lib/target/include/target/common/target_file_ext.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2021-2022 Niket Naidu. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef TARGET_COMMON_TARGET_FILE_EXT_H_ -#define TARGET_COMMON_TARGET_FILE_EXT_H_ - -namespace buildcc { - -enum class TargetFileExt { - Asm, ///< Valid Assembly source extension - C, ///< Valid C source extension - Cpp, ///< Valid Cpp source extension - Header, ///< Valid Header extension - Invalid, ///< Not a valid C/C++ family extension -}; - -} - -#endif From bcf967248f9b44d4448dbacb3dd3fe88546c29a5 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 19:48:13 -0800 Subject: [PATCH 11/23] Rename TargetFileExt to FileExt --- .../target/include/target/common/target_state.h | 4 ++-- buildcc/lib/target/include/target/target.h | 4 ++-- buildcc/lib/target/src/common/target_state.cpp | 12 ++++++------ buildcc/lib/target/src/target/target.cpp | 16 ++++++++-------- .../target/test/target/test_target_config.cpp | 14 +++++++------- .../lib/target/test/target/test_target_state.cpp | 12 ++++++------ 6 files changed, 31 insertions(+), 31 deletions(-) diff --git a/buildcc/lib/target/include/target/common/target_state.h b/buildcc/lib/target/include/target/common/target_state.h index cc7e06eb..3afc766f 100644 --- a/buildcc/lib/target/include/target/common/target_state.h +++ b/buildcc/lib/target/include/target/common/target_state.h @@ -17,7 +17,7 @@ #ifndef TARGET_COMMON_TARGET_STATE_H_ #define TARGET_COMMON_TARGET_STATE_H_ -#include "target/common/target_file_ext.h" +#include "toolchain/common/file_ext.h" namespace buildcc { @@ -27,7 +27,7 @@ namespace buildcc { // TargetInfo does not have a `Build` method, it is only meant to hold // information struct TargetState { - void SetSourceState(TargetFileExt file_extension); + void SetSourceState(FileExt file_extension); void SetPch(); void SetLock(); diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index 7b2d4a46..a9540a14 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -101,8 +101,8 @@ class Target : public internal::BuilderInterface, void Initialize(); // - std::optional SelectCompileFlags(TargetFileExt ext) const; - std::optional SelectCompiler(TargetFileExt ext) const; + std::optional SelectCompileFlags(FileExt ext) const; + std::optional SelectCompiler(FileExt ext) const; // Recompilation checks void RecheckPaths(const internal::path_unordered_set &previous_path, diff --git a/buildcc/lib/target/src/common/target_state.cpp b/buildcc/lib/target/src/common/target_state.cpp index d2740547..95a8a022 100644 --- a/buildcc/lib/target/src/common/target_state.cpp +++ b/buildcc/lib/target/src/common/target_state.cpp @@ -20,19 +20,19 @@ namespace buildcc { -void TargetState::SetSourceState(TargetFileExt file_extension) { +void TargetState::SetSourceState(FileExt file_extension) { switch (file_extension) { - case TargetFileExt::Asm: + case FileExt::Asm: contains_asm = true; break; - case TargetFileExt::C: + case FileExt::C: contains_c = true; break; - case TargetFileExt::Cpp: + case FileExt::Cpp: contains_cpp = true; break; - case TargetFileExt::Header: - case TargetFileExt::Invalid: + case FileExt::Header: + case FileExt::Invalid: default: break; } diff --git a/buildcc/lib/target/src/target/target.cpp b/buildcc/lib/target/src/target/target.cpp index 571cd9a4..dd4aedbe 100644 --- a/buildcc/lib/target/src/target/target.cpp +++ b/buildcc/lib/target/src/target/target.cpp @@ -89,15 +89,15 @@ void Target::RecheckExternalLib( std::bind(&Target::ExternalLibChanged, this)); } -std::optional Target::SelectCompileFlags(TargetFileExt ext) const { +std::optional Target::SelectCompileFlags(FileExt ext) const { switch (ext) { - case TargetFileExt::Asm: + case FileExt::Asm: return internal::aggregate(GetAsmCompileFlags()); break; - case TargetFileExt::C: + case FileExt::C: return internal::aggregate(GetCCompileFlags()); break; - case TargetFileExt::Cpp: + case FileExt::Cpp: return internal::aggregate(GetCppCompileFlags()); break; default: @@ -106,15 +106,15 @@ std::optional Target::SelectCompileFlags(TargetFileExt ext) const { return {}; } -std::optional Target::SelectCompiler(TargetFileExt ext) const { +std::optional Target::SelectCompiler(FileExt ext) const { switch (ext) { - case TargetFileExt::Asm: + case FileExt::Asm: return GetToolchain().GetAsmCompiler(); break; - case TargetFileExt::C: + case FileExt::C: return GetToolchain().GetCCompiler(); break; - case TargetFileExt::Cpp: + case FileExt::Cpp: return GetToolchain().GetCppCompiler(); break; default: diff --git a/buildcc/lib/target/test/target/test_target_config.cpp b/buildcc/lib/target/test/target/test_target_config.cpp index e0fcfcf0..68240e47 100644 --- a/buildcc/lib/target/test/target/test_target_config.cpp +++ b/buildcc/lib/target/test/target/test_target_config.cpp @@ -15,25 +15,25 @@ TEST_GROUP(TargetConfigTestGroup) TEST(TargetConfigTestGroup, GetFileExt) { buildcc::TargetConfig target_config; - buildcc::TargetFileExt ext; + buildcc::FileExt ext; ext = target_config.GetFileExt("file.asm"); - CHECK(ext == buildcc::TargetFileExt::Asm); + CHECK(ext == buildcc::FileExt::Asm); ext = target_config.GetFileExt("file.c"); - CHECK(ext == buildcc::TargetFileExt::C); + CHECK(ext == buildcc::FileExt::C); ext = target_config.GetFileExt("file.cpp"); - CHECK(ext == buildcc::TargetFileExt::Cpp); + CHECK(ext == buildcc::FileExt::Cpp); ext = target_config.GetFileExt("file.h"); - CHECK(ext == buildcc::TargetFileExt::Header); + CHECK(ext == buildcc::FileExt::Header); ext = target_config.GetFileExt("file.invalid"); - CHECK(ext == buildcc::TargetFileExt::Invalid); + CHECK(ext == buildcc::FileExt::Invalid); ext = target_config.GetFileExt("random/directory"); - CHECK(ext == buildcc::TargetFileExt::Invalid); + CHECK(ext == buildcc::FileExt::Invalid); } int main(int ac, char **av) { diff --git a/buildcc/lib/target/test/target/test_target_state.cpp b/buildcc/lib/target/test/target/test_target_state.cpp index 33900732..f3af3363 100644 --- a/buildcc/lib/target/test/target/test_target_state.cpp +++ b/buildcc/lib/target/test/target/test_target_state.cpp @@ -1,5 +1,5 @@ -#include "target/common/target_file_ext.h" #include "target/common/target_state.h" +#include "toolchain/common/file_ext.h" // NOTE, Make sure all these includes are AFTER the system and header includes #include "CppUTest/CommandLineTestRunner.h" @@ -17,20 +17,20 @@ TEST(TargetStateTestGroup, SetSourceState) { buildcc::TargetState target_state; CHECK_FALSE(target_state.contains_c); - target_state.SetSourceState(buildcc::TargetFileExt::C); + target_state.SetSourceState(buildcc::FileExt::C); CHECK_TRUE(target_state.contains_c); CHECK_FALSE(target_state.contains_cpp); - target_state.SetSourceState(buildcc::TargetFileExt::Cpp); + target_state.SetSourceState(buildcc::FileExt::Cpp); CHECK_TRUE(target_state.contains_cpp); CHECK_FALSE(target_state.contains_asm); - target_state.SetSourceState(buildcc::TargetFileExt::Asm); + target_state.SetSourceState(buildcc::FileExt::Asm); CHECK_TRUE(target_state.contains_asm); // Ignored - target_state.SetSourceState(buildcc::TargetFileExt::Header); - target_state.SetSourceState(buildcc::TargetFileExt::Invalid); + target_state.SetSourceState(buildcc::FileExt::Header); + target_state.SetSourceState(buildcc::FileExt::Invalid); } int main(int ac, char **av) { From 72d1ddfbfe9345c4c2b5fd2baea148836780a63c Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 20:38:09 -0800 Subject: [PATCH 12/23] Removed target_file_ext from targets --- buildcc/lib/target/cmake/common_target_src.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/buildcc/lib/target/cmake/common_target_src.cmake b/buildcc/lib/target/cmake/common_target_src.cmake index 875e5edf..6f2bb771 100644 --- a/buildcc/lib/target/cmake/common_target_src.cmake +++ b/buildcc/lib/target/cmake/common_target_src.cmake @@ -7,7 +7,6 @@ set(COMMON_TARGET_SRCS src/common/target_state.cpp include/target/common/target_config.h include/target/common/target_state.h - include/target/common/target_file_ext.h include/target/common/target_env.h src/common/util.cpp From a3c9fc841b16060e31a87c990fcbfe485f037dea Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 20:39:41 -0800 Subject: [PATCH 13/23] Use toolchain_.config instead of target_.config for toolchain specific information --- buildcc/lib/target/src/api/include_api.cpp | 4 ++-- buildcc/lib/target/src/api/pch_api.cpp | 2 +- buildcc/lib/target/src/api/source_api.cpp | 6 +++--- buildcc/lib/target/src/target/build.cpp | 11 ++++++----- .../target/src/target/friend/compile_object.cpp | 5 +++-- .../lib/target/src/target/friend/compile_pch.cpp | 15 ++++++++------- .../lib/target/src/target/friend/link_target.cpp | 2 +- 7 files changed, 24 insertions(+), 21 deletions(-) diff --git a/buildcc/lib/target/src/api/include_api.cpp b/buildcc/lib/target/src/api/include_api.cpp index a1716935..49ca6241 100644 --- a/buildcc/lib/target/src/api/include_api.cpp +++ b/buildcc/lib/target/src/api/include_api.cpp @@ -25,7 +25,7 @@ void IncludeApi::AddHeaderAbsolute(const fs::path &absolute_filepath) { T &t = static_cast(*this); t.state_.ExpectsUnlock(); - t.config_.ExpectsValidHeader(absolute_filepath); + t.toolchain_.GetConfig().ExpectsValidHeader(absolute_filepath); t.user_.headers.insert(absolute_filepath); } @@ -53,7 +53,7 @@ void IncludeApi::GlobHeadersAbsolute(const fs::path &absolute_path) { T &t = static_cast(*this); for (const auto &p : fs::directory_iterator(absolute_path)) { - if (t.config_.IsValidHeader(p.path())) { + if (t.toolchain_.GetConfig().IsValidHeader(p.path())) { AddHeaderAbsolute(p.path()); } } diff --git a/buildcc/lib/target/src/api/pch_api.cpp b/buildcc/lib/target/src/api/pch_api.cpp index 60d3745e..c0695342 100644 --- a/buildcc/lib/target/src/api/pch_api.cpp +++ b/buildcc/lib/target/src/api/pch_api.cpp @@ -25,7 +25,7 @@ void PchApi::AddPchAbsolute(const fs::path &absolute_filepath) { T &t = static_cast(*this); t.state_.ExpectsUnlock(); - t.config_.ExpectsValidHeader(absolute_filepath); + t.toolchain_.GetConfig().ExpectsValidHeader(absolute_filepath); const fs::path absolute_pch = fs::path(absolute_filepath).make_preferred(); t.user_.pchs.insert(absolute_pch); diff --git a/buildcc/lib/target/src/api/source_api.cpp b/buildcc/lib/target/src/api/source_api.cpp index 78d260a9..cc47cda3 100644 --- a/buildcc/lib/target/src/api/source_api.cpp +++ b/buildcc/lib/target/src/api/source_api.cpp @@ -25,7 +25,7 @@ void SourceApi::AddSourceAbsolute(const fs::path &absolute_source) { T &t = static_cast(*this); t.state_.ExpectsUnlock(); - t.config_.ExpectsValidSource(absolute_source); + t.toolchain_.GetConfig().ExpectsValidSource(absolute_source); t.user_.sources.emplace(fs::path(absolute_source).make_preferred()); } @@ -34,7 +34,7 @@ void SourceApi::GlobSourcesAbsolute(const fs::path &absolute_source_dir) { T &t = static_cast(*this); for (const auto &p : fs::directory_iterator(absolute_source_dir)) { - if (t.config_.IsValidSource(p.path())) { + if (t.toolchain_.GetConfig().IsValidSource(p.path())) { AddSourceAbsolute(p.path()); } } @@ -59,7 +59,7 @@ void SourceApi::GlobSources(const fs::path &relative_to_target_path) { fs::path absolute_input_path = t.env_.GetTargetRootDir() / relative_to_target_path; for (const auto &p : fs::directory_iterator(absolute_input_path)) { - if (t.config_.IsValidSource(p.path())) { + if (t.toolchain_.GetConfig().IsValidSource(p.path())) { AddSourceAbsolute(p.path()); } } diff --git a/buildcc/lib/target/src/target/build.cpp b/buildcc/lib/target/src/target/build.cpp index 4e9de6c6..7d00cd19 100644 --- a/buildcc/lib/target/src/target/build.cpp +++ b/buildcc/lib/target/src/target/build.cpp @@ -66,7 +66,7 @@ void Target::Build() { // Source state for (const auto &abs_source : user_.sources) { // Set state - state_.SetSourceState(config_.GetFileExt(abs_source)); + state_.SetSourceState(toolchain_.GetConfig().GetFileExt(abs_source)); // Relate input source with output object compile_object_.AddObjectData(abs_source); @@ -74,10 +74,11 @@ void Target::Build() { // Target default arguments command_.AddDefaultArguments({ - {kIncludeDirs, internal::aggregate_with_prefix(config_.prefix_include_dir, - GetIncludeDirs())}, - {kLibDirs, - internal::aggregate_with_prefix(config_.prefix_lib_dir, GetLibDirs())}, + {kIncludeDirs, + internal::aggregate_with_prefix( + toolchain_.GetConfig().prefix_include_dir, GetIncludeDirs())}, + {kLibDirs, internal::aggregate_with_prefix( + toolchain_.GetConfig().prefix_lib_dir, GetLibDirs())}, {kPreprocessorFlags, internal::aggregate(GetPreprocessorFlags())}, {kCommonCompileFlags, internal::aggregate(GetCommonCompileFlags())}, diff --git a/buildcc/lib/target/src/target/friend/compile_object.cpp b/buildcc/lib/target/src/target/friend/compile_object.cpp index 846108df..c9b46bdf 100644 --- a/buildcc/lib/target/src/target/friend/compile_object.cpp +++ b/buildcc/lib/target/src/target/friend/compile_object.cpp @@ -46,7 +46,8 @@ void CompileObject::CacheCompileCommands() { fmt::format("{}", GetObjectData(absolute_current_source).output); const std::string input = fmt::format("{}", absolute_current_source); - const auto type = target_.config_.GetFileExt(absolute_current_source); + const auto type = + target_.toolchain_.GetConfig().GetFileExt(absolute_current_source); const std::string selected_aggregated_compile_flags = target_.SelectCompileFlags(type).value_or(""); const std::string selected_compiler = @@ -156,7 +157,7 @@ CompileObject::ConstructObjectPath(const fs::path &absolute_source_file) const { fs::path absolute_compiled_source = target_.GetTargetBuildDir() / relative; absolute_compiled_source.replace_filename( fmt::format("{}{}", absolute_source_file.filename().string(), - target_.GetConfig().obj_ext)); + target_.toolchain_.GetConfig().obj_ext)); return absolute_compiled_source; } diff --git a/buildcc/lib/target/src/target/friend/compile_pch.cpp b/buildcc/lib/target/src/target/friend/compile_pch.cpp index 971f36f1..312b8b7c 100644 --- a/buildcc/lib/target/src/target/friend/compile_pch.cpp +++ b/buildcc/lib/target/src/target/friend/compile_pch.cpp @@ -117,13 +117,14 @@ void CompilePch::BuildCompile() { fs::path CompilePch::ConstructHeaderPath() const { return target_.GetTargetBuildDir() / - fmt::format("buildcc_pch{}", target_.GetConfig().pch_header_ext); + fmt::format("buildcc_pch{}", + target_.toolchain_.GetConfig().pch_header_ext); } fs::path CompilePch::ConstructCompilePath() const { return ConstructHeaderPath().replace_extension( - fmt::format("{}{}", target_.GetConfig().pch_header_ext, - target_.GetConfig().pch_compile_ext)); + fmt::format("{}{}", target_.toolchain_.GetConfig().pch_header_ext, + target_.toolchain_.GetConfig().pch_compile_ext)); } fs::path CompilePch::ConstructSourcePath(bool has_cpp) const { @@ -133,7 +134,7 @@ fs::path CompilePch::ConstructSourcePath(bool has_cpp) const { fs::path CompilePch::ConstructObjectPath() const { return ConstructHeaderPath().replace_extension( - fmt::format("{}", target_.GetConfig().obj_ext)); + fmt::format("{}", target_.toolchain_.GetConfig().obj_ext)); } std::string CompilePch::ConstructCompileCommand() const { @@ -141,14 +142,14 @@ std::string CompilePch::ConstructCompileCommand() const { ? target_.GetToolchain().GetCppCompiler() : target_.GetToolchain().GetCCompiler(); compiler = fmt::format("{}", fs::path(compiler)); - const TargetFileExt file_ext_type = - target_.GetState().contains_cpp ? TargetFileExt::Cpp : TargetFileExt::C; + const FileExt file_ext_type = + target_.GetState().contains_cpp ? FileExt::Cpp : FileExt::C; const std::string compile_flags = target_.SelectCompileFlags(file_ext_type).value_or(""); const std::string pch_compile_path = fmt::format("{}", compile_path_); const std::string pch_header_path = fmt::format("{}", header_path_); const std::string pch_source_path = fmt::format("{}", source_path_); - return target_.command_.Construct(target_.config_.pch_command, + return target_.command_.Construct(target_.GetConfig().pch_command, { {kCompiler, compiler}, {kCompileFlags, compile_flags}, diff --git a/buildcc/lib/target/src/target/friend/link_target.cpp b/buildcc/lib/target/src/target/friend/link_target.cpp index 2c6fd30e..49bc52b7 100644 --- a/buildcc/lib/target/src/target/friend/link_target.cpp +++ b/buildcc/lib/target/src/target/friend/link_target.cpp @@ -36,7 +36,7 @@ void LinkTarget::CacheLinkCommand() { const std::string output_target = fmt::format("{}", output_); const auto &target_user_schema = target_.user_; command_ = target_.command_.Construct( - target_.config_.link_command, + target_.GetConfig().link_command, { {kOutput, output_target}, {kCompiledSources, aggregated_compiled_sources}, From d94f224849344266cd6e979d25ca914b5dace082 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 20:40:35 -0800 Subject: [PATCH 14/23] Removed test_target_config test --- buildcc/lib/target/test/target/CMakeLists.txt | 6 --- .../target/test/target/test_target_config.cpp | 41 ------------------- 2 files changed, 47 deletions(-) delete mode 100644 buildcc/lib/target/test/target/test_target_config.cpp diff --git a/buildcc/lib/target/test/target/CMakeLists.txt b/buildcc/lib/target/test/target/CMakeLists.txt index 9b914b55..83d29bbe 100644 --- a/buildcc/lib/target/test/target/CMakeLists.txt +++ b/buildcc/lib/target/test/target/CMakeLists.txt @@ -25,17 +25,11 @@ add_test(NAME test_serialization_interface COMMAND test_serialization_interface ) # Common -add_executable(test_target_config - test_target_config.cpp -) -target_link_libraries(test_target_config PRIVATE target_interface) - add_executable(test_target_state test_target_state.cpp ) target_link_libraries(test_target_state PRIVATE target_interface) -add_test(NAME test_target_config COMMAND test_target_config) add_test(NAME test_target_state COMMAND test_target_state) # Generator diff --git a/buildcc/lib/target/test/target/test_target_config.cpp b/buildcc/lib/target/test/target/test_target_config.cpp deleted file mode 100644 index 68240e47..00000000 --- a/buildcc/lib/target/test/target/test_target_config.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "target/common/target_config.h" - -// NOTE, Make sure all these includes are AFTER the system and header includes -#include "CppUTest/CommandLineTestRunner.h" -#include "CppUTest/MemoryLeakDetectorNewMacros.h" -#include "CppUTest/TestHarness.h" -#include "CppUTest/Utest.h" - -// clang-format off -TEST_GROUP(TargetConfigTestGroup) -{ -}; -// clang-format on - -TEST(TargetConfigTestGroup, GetFileExt) { - buildcc::TargetConfig target_config; - - buildcc::FileExt ext; - - ext = target_config.GetFileExt("file.asm"); - CHECK(ext == buildcc::FileExt::Asm); - - ext = target_config.GetFileExt("file.c"); - CHECK(ext == buildcc::FileExt::C); - - ext = target_config.GetFileExt("file.cpp"); - CHECK(ext == buildcc::FileExt::Cpp); - - ext = target_config.GetFileExt("file.h"); - CHECK(ext == buildcc::FileExt::Header); - - ext = target_config.GetFileExt("file.invalid"); - CHECK(ext == buildcc::FileExt::Invalid); - - ext = target_config.GetFileExt("random/directory"); - CHECK(ext == buildcc::FileExt::Invalid); -} - -int main(int ac, char **av) { - return CommandLineTestRunner::RunAllTests(ac, av); -} From 059c3ebe92e3dad6d3e1431451eb3532cd959d11 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 20:41:09 -0800 Subject: [PATCH 15/23] Added test_toolchain_config to toolchain --- buildcc/lib/toolchain/CMakeLists.txt | 8 ++++ .../toolchain/test/test_toolchain_config.cpp | 41 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 buildcc/lib/toolchain/test/test_toolchain_config.cpp diff --git a/buildcc/lib/toolchain/CMakeLists.txt b/buildcc/lib/toolchain/CMakeLists.txt index 98d2cd61..712131ff 100644 --- a/buildcc/lib/toolchain/CMakeLists.txt +++ b/buildcc/lib/toolchain/CMakeLists.txt @@ -34,9 +34,17 @@ if (${TESTING}) mock_toolchain ) + add_executable(test_toolchain_config + test/test_toolchain_config.cpp + ) + target_link_libraries(test_toolchain_config PRIVATE + mock_toolchain + ) + add_test(NAME test_toolchain_verify COMMAND test_toolchain_verify WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test ) + add_test(NAME test_toolchain_config COMMAND test_toolchain_config) endif() if(${BUILDCC_BUILD_AS_SINGLE_LIB}) diff --git a/buildcc/lib/toolchain/test/test_toolchain_config.cpp b/buildcc/lib/toolchain/test/test_toolchain_config.cpp new file mode 100644 index 00000000..a0cfce24 --- /dev/null +++ b/buildcc/lib/toolchain/test/test_toolchain_config.cpp @@ -0,0 +1,41 @@ +#include "toolchain/common/toolchain_config.h" + +// NOTE, Make sure all these includes are AFTER the system and header includes +#include "CppUTest/CommandLineTestRunner.h" +#include "CppUTest/MemoryLeakDetectorNewMacros.h" +#include "CppUTest/TestHarness.h" +#include "CppUTest/Utest.h" + +// clang-format off +TEST_GROUP(ToolchainConfigTestGroup) +{ +}; +// clang-format on + +TEST(ToolchainConfigTestGroup, GetFileExt) { + buildcc::ToolchainConfig toolchain_config; + + buildcc::FileExt ext; + + ext = toolchain_config.GetFileExt("file.asm"); + CHECK(ext == buildcc::FileExt::Asm); + + ext = toolchain_config.GetFileExt("file.c"); + CHECK(ext == buildcc::FileExt::C); + + ext = toolchain_config.GetFileExt("file.cpp"); + CHECK(ext == buildcc::FileExt::Cpp); + + ext = toolchain_config.GetFileExt("file.h"); + CHECK(ext == buildcc::FileExt::Header); + + ext = toolchain_config.GetFileExt("file.invalid"); + CHECK(ext == buildcc::FileExt::Invalid); + + ext = toolchain_config.GetFileExt("random/directory"); + CHECK(ext == buildcc::FileExt::Invalid); +} + +int main(int ac, char **av) { + return CommandLineTestRunner::RunAllTests(ac, av); +} From 3f93c959cc7d0db560c1aa66233fa2a188b29e3c Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 20:41:58 -0800 Subject: [PATCH 16/23] Updated toolchain.h with UpdateConfig virtual function --- .../lib/toolchain/include/toolchain/toolchain.h | 7 ++++++- buildcc/targets/include/targets/target_gcc.h | 13 ------------- buildcc/targets/include/targets/target_mingw.h | 5 ----- buildcc/targets/include/targets/target_msvc.h | 12 ------------ .../include/toolchains/toolchain_gcc.h | 15 +++++++++++++++ .../include/toolchains/toolchain_mingw.h | 15 +++++++++++++++ .../include/toolchains/toolchain_msvc.h | 16 ++++++++++++++++ 7 files changed, 52 insertions(+), 31 deletions(-) diff --git a/buildcc/lib/toolchain/include/toolchain/toolchain.h b/buildcc/lib/toolchain/include/toolchain/toolchain.h index 1bd6d717..dec04968 100644 --- a/buildcc/lib/toolchain/include/toolchain/toolchain.h +++ b/buildcc/lib/toolchain/include/toolchain/toolchain.h @@ -47,7 +47,9 @@ class Toolchain : public ToolchainVerify { const ToolchainConfig &config = ToolchainConfig()) : id_(id), name_(name), asm_compiler_(asm_compiler), c_compiler_(c_compiler), cpp_compiler_(cpp_compiler), - archiver_(archiver), linker_(linker), config_(config) {} + archiver_(archiver), linker_(linker), config_(config) { + UpdateConfig(config_); + } Toolchain(Toolchain &&toolchain) = default; Toolchain(const Toolchain &toolchain) = delete; @@ -63,6 +65,9 @@ class Toolchain : public ToolchainVerify { const ToolchainConfig &GetConfig() const { return config_; } +private: + virtual void UpdateConfig(ToolchainConfig &config) { (void)config; } + private: friend class ToolchainVerify; diff --git a/buildcc/targets/include/targets/target_gcc.h b/buildcc/targets/include/targets/target_gcc.h index 60df007f..2e2dfb32 100644 --- a/buildcc/targets/include/targets/target_gcc.h +++ b/buildcc/targets/include/targets/target_gcc.h @@ -29,14 +29,6 @@ constexpr const char *const kGccExecutableExt = ""; constexpr const char *const kGccStaticLibExt = ".a"; constexpr const char *const kGccDynamicLibExt = ".so"; -constexpr const char *const kGccObjExt = ".o"; -constexpr const char *const kGccPchHeaderExt = ".h"; -constexpr const char *const kGccPchCompileExt = ".gch"; - -// GCC -constexpr const char *const kGccPrefixIncludeDir = "-I"; -constexpr const char *const kGccPrefixLibDir = "-L"; - constexpr const char *const kGccGenericPchCompileCommand = "{compiler} {preprocessor_flags} {include_dirs} {common_compile_flags} " "{pch_compile_flags} {compile_flags} -o {output} -c {input}"; @@ -72,11 +64,6 @@ class GccConfig : ConfigInterface { const std::string &link_command) { TargetConfig config; config.target_ext = target_ext; - config.obj_ext = kGccObjExt; - config.pch_header_ext = kGccPchHeaderExt; - config.pch_compile_ext = kGccPchCompileExt; - std::string prefix_include_dir = kGccPrefixIncludeDir; - std::string prefix_lib_dir = kGccPrefixLibDir; config.pch_command = kGccGenericPchCompileCommand; config.compile_command = compile_command; config.link_command = link_command; diff --git a/buildcc/targets/include/targets/target_mingw.h b/buildcc/targets/include/targets/target_mingw.h index 44f93720..abaeeb38 100644 --- a/buildcc/targets/include/targets/target_mingw.h +++ b/buildcc/targets/include/targets/target_mingw.h @@ -54,11 +54,6 @@ class MingwConfig : ConfigInterface { const std::string &link_command) { TargetConfig config; config.target_ext = target_ext; - config.obj_ext = kGccObjExt; - config.pch_header_ext = kGccPchHeaderExt; - config.pch_compile_ext = kGccPchCompileExt; - std::string prefix_include_dir = kGccPrefixIncludeDir; - std::string prefix_lib_dir = kGccPrefixLibDir; config.pch_command = kGccGenericPchCompileCommand; config.compile_command = compile_command; config.link_command = link_command; diff --git a/buildcc/targets/include/targets/target_msvc.h b/buildcc/targets/include/targets/target_msvc.h index 0d8e91ae..7baaae88 100644 --- a/buildcc/targets/include/targets/target_msvc.h +++ b/buildcc/targets/include/targets/target_msvc.h @@ -33,13 +33,6 @@ constexpr const char *const kMsvcStaticLibExt = ".lib"; // OUT .dll needs to be present in the executable folder during runtime constexpr const char *const kMsvcDynamicLibExt = ".lib"; -constexpr const char *const kMsvcObjExt = ".obj"; -constexpr const char *const kMsvcPchHeaderExt = ".h"; -constexpr const char *const kMsvcPchCompileExt = ".pch"; - -constexpr const char *const kMsvcPrefixIncludeDir = "/I"; -constexpr const char *const kMsvcPrefixLibDir = "/LIBPATH:"; - constexpr const char *const kMsvcPchCompileCommand = "{compiler} {preprocessor_flags} {include_dirs} {common_compile_flags} " "/Yc{input} /FI{input} /Fp{output} {pch_compile_flags} {compile_flags} " @@ -79,11 +72,6 @@ class MsvcConfig : ConfigInterface { const std::string &link_command) { TargetConfig config; config.target_ext = target_ext; - config.obj_ext = kMsvcObjExt; - config.pch_header_ext = kMsvcPchHeaderExt; - config.pch_compile_ext = kMsvcPchCompileExt; - config.prefix_include_dir = kMsvcPrefixIncludeDir; - config.prefix_lib_dir = kMsvcPrefixLibDir; config.pch_command = kMsvcPchCompileCommand; config.compile_command = compile_command; config.link_command = link_command; diff --git a/buildcc/toolchains/include/toolchains/toolchain_gcc.h b/buildcc/toolchains/include/toolchains/toolchain_gcc.h index b7c490fb..ebf4be40 100644 --- a/buildcc/toolchains/include/toolchains/toolchain_gcc.h +++ b/buildcc/toolchains/include/toolchains/toolchain_gcc.h @@ -21,6 +21,12 @@ namespace buildcc { +constexpr const char *const kGccObjExt = ".o"; +constexpr const char *const kGccPchHeaderExt = ".h"; +constexpr const char *const kGccPchCompileExt = ".gch"; +constexpr const char *const kGccPrefixIncludeDir = "-I"; +constexpr const char *const kGccPrefixLibDir = "-L"; + /** * @brief Generic GCC Toolchain
* id = ToolchainId::Gcc
@@ -36,6 +42,15 @@ class Toolchain_gcc : public Toolchain { Toolchain_gcc() : Toolchain(Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", "ar", "ld") {} Toolchain_gcc(const Toolchain_gcc &gcc) = delete; + +private: + void UpdateConfig(ToolchainConfig &config) override { + config.obj_ext = kGccObjExt; + config.pch_header_ext = kGccPchHeaderExt; + config.pch_compile_ext = kGccPchCompileExt; + config.prefix_include_dir = kGccPrefixIncludeDir; + config.prefix_lib_dir = kGccPrefixLibDir; + } }; } // namespace buildcc diff --git a/buildcc/toolchains/include/toolchains/toolchain_mingw.h b/buildcc/toolchains/include/toolchains/toolchain_mingw.h index 44d4b09b..05bef7ca 100644 --- a/buildcc/toolchains/include/toolchains/toolchain_mingw.h +++ b/buildcc/toolchains/include/toolchains/toolchain_mingw.h @@ -21,6 +21,12 @@ namespace buildcc { +constexpr const char *const kMingwObjExt = ".o"; +constexpr const char *const kMingwPchHeaderExt = ".h"; +constexpr const char *const kMingwPchCompileExt = ".gch"; +constexpr const char *const kMingwPrefixIncludeDir = "-I"; +constexpr const char *const kMingwPrefixLibDir = "-L"; + /** * @brief Generic MinGW Toolchain
* id = ToolchainId::MinGW
@@ -36,6 +42,15 @@ class Toolchain_mingw : public BaseToolchain { Toolchain_mingw() : Toolchain(ToolchainId::MinGW, "gcc", "as", "gcc", "g++", "ar", "ld") {} Toolchain_mingw(const Toolchain_mingw &) = delete; + +private: + void UpdateConfig(ToolchainConfig &config) { + config.obj_ext = kMingwObjExt; + config.pch_header_ext = kMingwPchHeaderExt; + config.pch_compile_ext = kMingwPchCompileExt; + config.prefix_include_dir = kMingwPrefixIncludeDir; + config.prefix_lib_dir = kMingwPrefixLibDir; + } }; } // namespace buildcc diff --git a/buildcc/toolchains/include/toolchains/toolchain_msvc.h b/buildcc/toolchains/include/toolchains/toolchain_msvc.h index f74a479d..6a5a8ceb 100644 --- a/buildcc/toolchains/include/toolchains/toolchain_msvc.h +++ b/buildcc/toolchains/include/toolchains/toolchain_msvc.h @@ -21,6 +21,13 @@ namespace buildcc { +constexpr const char *const kMsvcObjExt = ".obj"; +constexpr const char *const kMsvcPchHeaderExt = ".h"; +constexpr const char *const kMsvcPchCompileExt = ".pch"; + +constexpr const char *const kMsvcPrefixIncludeDir = "/I"; +constexpr const char *const kMsvcPrefixLibDir = "/LIBPATH:"; + /** * @brief Generic GCC Toolchain
* id = ToolchainId::Msvc
@@ -37,6 +44,15 @@ class Toolchain_msvc : public Toolchain { : Toolchain(Toolchain::Id::Msvc, "msvc", "cl", "cl", "cl", "lib", "link") {} Toolchain_msvc(const Toolchain_msvc &gcc) = delete; + +private: + void UpdateConfig(ToolchainConfig &config) { + config.obj_ext = kMsvcObjExt; + config.pch_header_ext = kMsvcPchHeaderExt; + config.pch_compile_ext = kMsvcPchCompileExt; + config.prefix_include_dir = kMsvcPrefixIncludeDir; + config.prefix_lib_dir = kMsvcPrefixLibDir; + } }; } // namespace buildcc From 531320fd594f535338adec588d5c8effc595893d Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 20:42:29 -0800 Subject: [PATCH 17/23] Update build_env_setup.cpp --- buildexe/src/build_env_setup.cpp | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/buildexe/src/build_env_setup.cpp b/buildexe/src/build_env_setup.cpp index 6884a1de..2bfcac96 100644 --- a/buildexe/src/build_env_setup.cpp +++ b/buildexe/src/build_env_setup.cpp @@ -194,31 +194,15 @@ struct BuildExeLibDir {{ } // Segregate valid lib files into sources and include dirs - internal::fs_unordered_set sources; - internal::fs_unordered_set include_dirs; - internal::fs_unordered_set headers; for (const auto &lib_build_file : buildexe_args_.GetLibBuildFiles()) { - if (user_target.GetConfig().IsValidSource(lib_build_file)) { - sources.insert(lib_build_file); + if (user_target.GetToolchain().GetConfig().IsValidSource(lib_build_file)) { + user_target.AddSourceAbsolute(lib_build_file); } - if (user_target.GetConfig().IsValidHeader(lib_build_file)) { - include_dirs.insert(lib_build_file.parent_path()); - headers.insert(lib_build_file); + if (user_target.GetToolchain().GetConfig().IsValidHeader(lib_build_file)) { + user_target.AddIncludeDirAbsolute(lib_build_file.parent_path(), false); + user_target.AddHeaderAbsolute(lib_build_file); } } - - // Add sources to user_target - for (const auto &s : sources) { - user_target.AddSourceAbsolute(s); - } - // Add include dirs to user_target - for (const auto &idir : include_dirs) { - user_target.AddIncludeDir(idir, false); - } - // Add headers to user_target - for (const auto &h : headers) { - user_target.AddHeaderAbsolute(h); - } } void BuildEnvSetup::UserTargetBuild() { From e4769137ffdad864bd61eacd96e1a069b98e6178 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 20:47:08 -0800 Subject: [PATCH 18/23] Update build_buildcc.cpp --- bootstrap/src/build_buildcc.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bootstrap/src/build_buildcc.cpp b/bootstrap/src/build_buildcc.cpp index 2895627c..70765e9d 100644 --- a/bootstrap/src/build_buildcc.cpp +++ b/bootstrap/src/build_buildcc.cpp @@ -62,9 +62,11 @@ void buildcc_cb(BaseTarget &target, const BaseGenerator &schema_gen, // TOOLCHAIN target.GlobSources("lib/toolchain/src/api"); + target.GlobSources("lib/toolchain/src/common"); target.AddIncludeDir("lib/toolchain/include"); target.GlobHeaders("lib/toolchain/include/toolchain"); target.GlobHeaders("lib/toolchain/include/toolchain/api"); + target.GlobHeaders("lib/toolchain/include/toolchain/common"); // TARGET target.GlobSources("lib/target/src/common"); From e85e082d2c09b0bf8612d5958dc919538b811586 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 20:51:28 -0800 Subject: [PATCH 19/23] Update msvc-analysis.yml --- .github/workflows/msvc-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/msvc-analysis.yml b/.github/workflows/msvc-analysis.yml index a2628f34..bd370187 100644 --- a/.github/workflows/msvc-analysis.yml +++ b/.github/workflows/msvc-analysis.yml @@ -25,7 +25,7 @@ env: jobs: analyze: name: Analyze - runs-on: windows-latest + runs-on: windows-2019 steps: - name: Checkout repository From ef6989e8aa79a47aa390bab7ce645a3b45feac95 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 20:57:14 -0800 Subject: [PATCH 20/23] Updated documentation with toolchain_utils --- docs/source/user_api/target_utils.rst | 5 ----- docs/source/user_api/toc.rst | 1 + docs/source/user_api/toolchain_utils.rst | 14 ++++++++++++++ 3 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 docs/source/user_api/toolchain_utils.rst diff --git a/docs/source/user_api/target_utils.rst b/docs/source/user_api/target_utils.rst index b85fc251..4940883f 100644 --- a/docs/source/user_api/target_utils.rst +++ b/docs/source/user_api/target_utils.rst @@ -3,11 +3,6 @@ Target Utils Commonly used Utils (Classes / Structs) for **Generator**, **TargetInfo** and **Target** classes. -target_file_ext.h ------------------- - -.. doxygenenum:: buildcc::TargetFileExt - target_type.h -------------- diff --git a/docs/source/user_api/toc.rst b/docs/source/user_api/toc.rst index c149c8cd..c7c858d8 100644 --- a/docs/source/user_api/toc.rst +++ b/docs/source/user_api/toc.rst @@ -6,6 +6,7 @@ User API args register + toolchain_utils toolchain target_utils generator diff --git a/docs/source/user_api/toolchain_utils.rst b/docs/source/user_api/toolchain_utils.rst new file mode 100644 index 00000000..0e812633 --- /dev/null +++ b/docs/source/user_api/toolchain_utils.rst @@ -0,0 +1,14 @@ +Toolchain Utils +================ + +Commonly used Utils (Classes / Structs) for **Toolchain** + +file_ext.h +------------ + +.. doxygenenum:: buildcc::FileExt + +toolchain_config.h +-------------------- + +.. doxygenstruct:: buildcc::ToolchainConfig From 1b99baace7d7e58d33a3448ef0d2e9d2139bdd7f Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 21:08:16 -0800 Subject: [PATCH 21/23] Updated target and mock_target --- buildcc/lib/target/cmake/mock_target.cmake | 1 - buildcc/lib/target/cmake/target.cmake | 1 - 2 files changed, 2 deletions(-) diff --git a/buildcc/lib/target/cmake/mock_target.cmake b/buildcc/lib/target/cmake/mock_target.cmake index da18b626..39ec8a77 100644 --- a/buildcc/lib/target/cmake/mock_target.cmake +++ b/buildcc/lib/target/cmake/mock_target.cmake @@ -21,7 +21,6 @@ target_link_options(mock_target PUBLIC ${TEST_LINK_FLAGS} ${BUILD_LINK_FLAGS}) target_link_libraries(mock_target PUBLIC Taskflow - mock_schema mock_toolchain CppUTest diff --git a/buildcc/lib/target/cmake/target.cmake b/buildcc/lib/target/cmake/target.cmake index fdb0cd8d..98f16479 100644 --- a/buildcc/lib/target/cmake/target.cmake +++ b/buildcc/lib/target/cmake/target.cmake @@ -28,7 +28,6 @@ if(${BUILDCC_BUILD_AS_INTERFACE}) $ ) target_link_libraries(target PUBLIC - schema toolchain Taskflow ) From 7e9ec32092b4f96ed627b5c3b408319309be1bdc Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 20 Feb 2022 21:10:23 -0800 Subject: [PATCH 22/23] Update buildcc_interface_lib.PNG --- .../buildcc_interface_lib.PNG | Bin 142148 -> 144370 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/software_architecture/buildcc_interface_lib.PNG b/doc/software_architecture/buildcc_interface_lib.PNG index 729c9b080b8edeb307aeaa3a663ba9fd05c8df6a..e0ce861cdf35a76ad446c2d7baef8f91af99cc0d 100644 GIT binary patch literal 144370 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 Date: Sun, 20 Feb 2022 21:15:05 -0800 Subject: [PATCH 23/23] Update software_heirarchy.rst --- docs/source/arch/software_heirarchy.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/source/arch/software_heirarchy.rst b/docs/source/arch/software_heirarchy.rst index 5dfa8e9f..20877103 100644 --- a/docs/source/arch/software_heirarchy.rst +++ b/docs/source/arch/software_heirarchy.rst @@ -66,13 +66,12 @@ BuildCC interface lib taskflow -up-> register flatbuffers .up.> schema - - env -up-> toolchain env -up-> schema - taskflow -up-> target - schema -up-> target + schema -up-> toolchain + toolchain -up-> target + taskflow -up-> target toolchain -up-> toolchain_specialized target -up-> target_specialized