49 JobTimer* timer =
nullptr)
override {
51#if CPPAD_CG_SYSTEM_APPLE
52 std::string linkerName =
"-install_name";
53#elif CPPAD_CG_SYSTEM_LINUX
54 std::string linkerName =
"-soname";
56 std::string linkerFlags =
"-Wl," + linkerName +
"," + system::filenameFromPath(library);
57 for (
size_t i = 0; i < this->_linkFlags.size(); i++)
58 linkerFlags +=
"," + this->_linkFlags[i];
60 std::vector<std::string> args;
61 args.insert(args.end(), this->_compileLibFlags.begin(), this->_compileLibFlags.end());
62 args.push_back(linkerFlags);
64 args.push_back(library);
65 for (
const std::string& it : this->_ofiles) {
69 if (timer !=
nullptr) {
70 timer->startingJob(
"'" + library +
"'", JobTimer::COMPILING_DYNAMIC_LIBRARY);
71 }
else if (this->_verbose) {
72 std::cout <<
"building library '" << library <<
"'" << std::endl;
77 if (timer !=
nullptr) {