blob: 708420063ace58602d95e6cbb722751d137efeb4 [file] [log] [blame]
// Copyright 2018 The Goma Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef DEVTOOLS_GOMA_LIB_GCC_EXECREQ_NORMALIZER_H_
#define DEVTOOLS_GOMA_LIB_GCC_EXECREQ_NORMALIZER_H_
#include "lib/execreq_normalizer.h"
using std::string;
namespace devtools_goma {
class GCCExecReqNormalizer : public ConfigurableExecReqNormalizer {
protected:
Config Configure(int id,
const std::vector<string>& args,
bool normalize_include_path,
bool is_linking,
const std::vector<string>& normalize_weak_relative_for_arg,
const std::map<string, string>& debug_prefix_map,
const ExecReq* req) const override;
private:
void NormalizeExecReqArgs(
int keep_args,
const std::vector<string>& args,
const std::vector<string>& normalize_weak_relative_for_arg,
const std::map<string, string>& debug_prefix_map,
const string& debug_prefix_map_signature,
ExecReq* req) const override;
};
} // namespace devtools_goma
#endif // DEVTOOLS_GOMA_LIB_GCC_EXECREQ_NORMALIZER_H_