aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/link-rule.cxx
AgeCommit message (Collapse)AuthorFilesLines
2019-06-03Adapt to renaming traits alias to traits_type for basic_path, basic_url, and ↵Karen Arutyunov1-2/+2
string_table class templates
2019-05-15Cleanup clean_extra() mess (pun intended)Boris Kolpackov1-40/+52
2019-05-15Add noteBoris Kolpackov1-0/+3
2019-05-15Add ability to depend on (declared) ad hoc group memberBoris Kolpackov1-26/+29
2019-05-14Fix pdb{} target clashBoris Kolpackov1-3/+10
2019-05-13Remove order dependence in ad hoc group handlingBoris Kolpackov1-56/+56
Also, don't match group_recipe since we neither execute nor access the state.
2019-05-10Minor cleanups and clarificationsBoris Kolpackov1-4/+6
2019-04-30Initial take on header unit and include translation supportBoris Kolpackov1-1/+0
2019-04-17Incorporate ad hoc prerequisite mtime into out-of-date determinationBoris Kolpackov1-10/+25
2019-04-16Cosmetic changeBoris Kolpackov1-2/+2
2019-04-08Support for --dry-run|-n mode, perform update partBoris Kolpackov1-129/+149
2019-04-05Add bug number for Apple ar mtime truncation bugBoris Kolpackov1-1/+1
2019-04-04Add ability to disable automatic rpath, support for custom rpath-linkBoris Kolpackov1-19/+38
Specifically, the new config.bin.rpath.auto variable can be used to disable automatic addition of prerequisite library rpaths, for example: $ b config.bin.rpath.auto=false Note that in this case rpath-link is still added where normally required and for targets that support it (Linux and *BSD). The new config.bin.rpath_link and config.bin.rpath_link.auto have the same semantics as config.bin.rpath* but for rpath-link.
2019-04-03Change depdb API and handle system_error thrown by butl::file_mtime()Karen Arutyunov1-2/+2
Previously, debdb operations threw system_error and io_error to signal errors, except for opening which issued diagnostics and failed. Now all operations print the diagnostics and fail on system and IO errors.
2019-02-27Escape backslashes in GNU options file on WindowsBoris Kolpackov1-2/+22
2019-02-27Use options (aka response) file on Windows if link command line is too longBoris Kolpackov1-10/+111
2019-02-15Don't try to pass utility's loptions/libs when linking static libraryBoris Kolpackov1-11/+34
2019-01-16Update copyright yearKaren Arutyunov1-1/+1
2019-01-09Fix bug in cc rules matchingBoris Kolpackov1-1/+1
2019-01-09Tighten cc rules matchingBoris Kolpackov1-7/+13
Specifically, make sure the rule does not match if there is a c-common prerequisites that it doesn't recognize.
2018-11-30Adapt to inventing path_match_flagsKaren Arutyunov1-4/+3
2018-11-28Add --[no-]mtime-check options to control this behavior at runtimeBoris Kolpackov1-1/+1
By default the checks are enabled only for the staged toolchain.
2018-11-23Revert rename of .exe.d to .d (did not make any difference)Boris Kolpackov1-5/+3
2018-11-22Rename .exe.d to just .d to test Windows interference theoryBoris Kolpackov1-3/+5
2018-11-22Make backwards modification time check permanent, add another experimentBoris Kolpackov1-23/+2
2018-11-21More backwards modification time experimentationBoris Kolpackov1-1/+2
2018-11-20Improve workaround for backwards modification time issueBoris Kolpackov1-9/+9
2018-11-19Extend backwards modification time diagnosticsBoris Kolpackov1-1/+2
2018-11-19Workaround Apple ar fractional second truncation bug on APFSBoris Kolpackov1-0/+16
2018-11-19Finalize workaround for backwards modification time issueBoris Kolpackov1-12/+13
2018-11-16Test workaround theory for backwards mtime issueBoris Kolpackov1-5/+4
2018-11-15Instrument cc:link_rule with backwards mtime detection/diagnosticsBoris Kolpackov1-0/+20
2018-11-02Use rule-specific variables for backlink valueBoris Kolpackov1-4/+4
2018-11-01Add support for rule-specific variables, use to fix cc.type data raceBoris Kolpackov1-2/+2
2018-10-25Redesign cc::compiler_id to make variant customizableBoris Kolpackov1-2/+4
2018-10-25Fix race in rule synthesis logicBoris Kolpackov1-6/+35
2018-10-18Fix bug in binless library linking logicBoris Kolpackov1-11/+5
2018-09-07Fix binless logic some moreBoris Kolpackov1-2/+2
2018-09-06Fix issues with interaction between binless logic and Windows DLLsBoris Kolpackov1-10/+16
2018-09-04Check for binless-ness after seeing through to import library memberBoris Kolpackov1-11/+16
This makes a difference for installed libraries since the DLL location might be unknown (empty path).
2018-09-04Initial work on binless (binary-less aka header-only) library supportBoris Kolpackov1-259/+361
2018-08-25Implement missing pieces in utility libraries supportBoris Kolpackov1-48/+197
In particular, we can now build static libraries out of utility libraries.
2018-08-22Rework code to sidestep Clang 3.8 on FreeBSD 11.0 mis-compilationBoris Kolpackov1-2/+1
2018-08-21Print 'ar' instead of 'ld' when building static librariesBoris Kolpackov1-1/+1
2018-08-14Use thin archives if available for utility librariesBoris Kolpackov1-10/+44
Thin archives are supported by GNU ar since binutils 2.19.1 and LLVM ar since LLVM 3.8.0.
2018-06-28Implement support for excluded and ad hoc prerequisitesBoris Kolpackov1-13/+37
The inclusion/exclusion is controlled via the 'include' prerequisite-specific variable. Valid values are: false - exclude true - include adhoc - include but treat as an ad hoc input For example: lib{foo}: cxx{win32-utility}: include = ($cxx.targe.class == 'windows') exe{bar}: libs{plugin}: include = adhoc
2018-06-14Fix typoBoris Kolpackov1-1/+1
2018-06-13Open depdb earlier to detect and diagnose missing output directoryBoris Kolpackov1-2/+5
2018-06-12Add built-in support for Windows module definition files (.def)Boris Kolpackov1-5/+47
2018-06-12Remove output if ld failsBoris Kolpackov1-5/+7
This helps link.exe which leaves broken the output around.