Commit 991700f3 authored by jan.koester's avatar jan.koester
Browse files

bugfix

parent cfe158db
Loading
Loading
Loading
Loading
+9 −2
Changes for executor.h: 9 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -37,7 +37,8 @@ private:
    // Sequential build
    std::map<std::string, int> visited_;
    std::set<std::string> rebuilt_;
    int build_sequential(const std::string& target);
    int build_sequential(const std::string& target,
                         const std::map<std::string, std::string>& inherited = {});

    // Parallel build
    struct DagNode {
@@ -64,11 +65,17 @@ private:
    // Shared helpers
    const Rule* find_rule(const std::string& target, std::string& stem);
    bool can_be_made(const std::string& target, std::set<const Rule*>& used, int depth);
    // Merge a target's own target-specific variable bindings onto the bindings
    // inherited from ancestors (GNU make propagates target-specific variables
    // to prerequisites). Returns the effective override map for `target`.
    std::map<std::string, std::string> compute_target_scope(
        const std::string& target, const std::map<std::string, std::string>& inherited);
    std::vector<std::string> expand_prereqs(const std::string& target,
                                            const Rule* rule, const std::string& stem);
    bool needs_rebuild(const std::string& target, const std::vector<std::string>& prereqs);
    int execute_rule(const std::string& target, const Rule* rule,
                     const std::string& stem, const std::vector<std::string>& prereqs);
                     const std::string& stem, const std::vector<std::string>& prereqs,
                     const std::map<std::string, std::string>& scope = {});
    void apply_exports(const Makefile& mf);
    int run_command(const std::string& cmd);
    bool file_exists(const std::string& path);