1 #ifndef CPPAD_CG_LINUX_AR_ARCHIVER_INCLUDED
2 #define CPPAD_CG_LINUX_AR_ARCHIVER_INCLUDED
24 std::vector<std::string> _flags;
29 _arPath(
"/usr/bin/ar"),
38 inline virtual bool isVerbose()
const {
42 inline virtual void setVerbose(
bool verbose) {
46 inline const std::vector<std::string>& getFlags()
const {
50 inline void setFlags(
const std::vector<std::string>& flags) {
54 inline virtual void create(
const std::string& library,
55 const std::set<std::string>& objectFiles,
60 std::vector<std::string> args;
61 args.push_back(
"rcs");
62 args.insert(args.end(), _flags.begin(), _flags.end());
63 args.push_back(library);
64 args.insert(args.end(), objectFiles.begin(), objectFiles.end());
66 if (timer !=
nullptr) {
67 timer->startingJob(
"'" + library +
"'", JobTimer::ASSEMBLE_STATIC_LIBRARY);
68 }
else if (_verbose) {
69 std::cout <<
"building library '" << library <<
"'" << std::endl;
74 if (timer !=
nullptr) {
void callExecutable(const std::string &executable, const std::vector< std::string > &args, std::string *stdOutErrMessage=nullptr, const std::string *stdInMessage=nullptr)