diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-07-29 09:24:10 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-07-29 09:24:10 +0200 |
commit | 1ece46928dcd77d47b4875ac7edadb0c6d30c959 (patch) | |
tree | ea6be10112a6b9d031ecfc544177858312a83f99 | |
parent | 15ae8a35fba961089ec3bec46a8e7c09b1e6c2f8 (diff) |
Delete archive before regenerating
-rw-r--r-- | build2/cc/link.cxx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/build2/cc/link.cxx b/build2/cc/link.cxx index babbbed..1a5424b 100644 --- a/build2/cc/link.cxx +++ b/build2/cc/link.cxx @@ -1813,6 +1813,17 @@ namespace build2 } catch (const system_error&) {} // Ignore errors. } + else if (lt.static_library ()) + { + // We use relative paths to the object files which means we may end + // up with different ones depending on CWD and some implementation + // treat them as different archive members. So remote the file to + // be sure. Note that we ignore errors leaving it to the achiever + // to complain. + // + if (mt != timestamp_nonexistent) + try_rmfile (relt, true); + } if (verb >= 2) print_process (args); |