31#ifndef __GCC_HASH_HPP__
32#define __GCC_HASH_HPP__
40 std::vector<std::string> objects_list)
override {
41 if (file_list.size() != objects_list.size()) {
51 if (cargs != meta.
cargs) {
63 if (largs != meta.
largs) {
71 std::string packer)
override {
90 if (out != meta.
out) {
97 virtual void set_target_meta(std::vector<std::string> cargs, std::vector<std::string> largs,
98 std::string out, std::string compiler, std::string linker,
99 std::string packer)
override {
Build metadata config file.
virtual int compare_and_set_commands(std::string compiler, std::string linker, std::string packer) override
Compare shell commands used for compilation and update metadata.
virtual int compare_and_set_largs(std::vector< std::string > largs) override
Compare link args and update metadata.
GCCHash(std::string target_id)
virtual int compare_and_set_cargs(std::vector< std::string > cargs) override
Compare compile args and update metadata.
virtual int compare_and_set_output_file(std::string out) override
Compare output file name and update metadata.
virtual void set_target_meta(std::vector< std::string > cargs, std::vector< std::string > largs, std::string out, std::string compiler, std::string linker, std::string packer) override
Set the target meta.
virtual lib::map< std::string, std::string > get_files_for_recompilation(std::vector< std::string > file_list, std::vector< std::string > objects_list) override
Pass a list of source files and coresponding object files and get a map of source-object that need to...
Simple map implementation with some stack operation added.
GCC hasher low-level implementation.
Hasher base class and some helper functions This file implements some helper funtions,...
Custom implementation of map datatype.
Filebuffer for CBuild ecosystem.
lib::map< std::string, std::string > gcc_hash_impl(std::vector< std::string > file_list, std::vector< std::string > objects_list, std::string target_id)
Implementation of GCC hasher.
int read_target_metadata(std::string target_id, CBuild::target_metadata_file *metadata)
Load metadata for a full target.
int write_target_metadata(std::string target_id, CBuild::target_metadata_file *metadata)
Write a metadata for a full target.