aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc
AgeCommit message (Collapse)AuthorFilesLines
2022-12-07List dnsapi, msimg32 as Windows system librariesBoris Kolpackov1-2/+4
2022-12-06Handle bin.whole when specified for interface dependenciesBoris Kolpackov1-5/+23
2022-12-05Skip common .pc file for binless if found but rejected binful (GH issues #235)Boris Kolpackov3-26/+80
2022-12-05List windowscodecs as Windows system libraryBoris Kolpackov1-0/+1
2022-11-30Diagnose absence of import library after link.exe invocation (GH issue #231)Boris Kolpackov1-7/+22
If a library does not export any symbols then link.exe skips creating the import library.
2022-11-29Fix backlink logic for target groupsBoris Kolpackov1-5/+24
We used to backlink ad hoc group members both via the group and as individual members. And for explicit groups it was done only via individual members, which means it only works correctly if every member is individually updated. Now both types of groups are backlinked from the group target.
2022-11-25Fix diag buffer opining logic in cc::compile_ruleBoris Kolpackov1-5/+11
2022-11-23Rework diag_buffer interface to facilitate correct destruction orderBoris Kolpackov5-40/+45
2022-11-22Add support for Objective-C/C++ compilation in cc moduleBoris Kolpackov8-68/+140
2022-11-16Initial low verbosity diagnostics reworkBoris Kolpackov4-11/+13
2022-11-08Make process exit diagnostics consistentBoris Kolpackov5-11/+14
In particular, we now always print error message on non-0 exit except in cases where such exit is ignored.
2022-11-08Work around suspected GCC 12 mis-compilation (bug #107555)Boris Kolpackov2-16/+25
2022-11-08Allow passing fail diag record to diag_buffer::close()Boris Kolpackov1-11/+4
2022-11-08Tighten args const-ness in the run*() function familyBoris Kolpackov2-8/+0
2022-11-08Rework header dependency extraction with diagnostics bufferingBoris Kolpackov2-249/+416
2022-11-08More work on child process diagnostics bufferingBoris Kolpackov7-136/+124
2022-10-28Add ability to disable diagnostics buffering (--no-diag-buffer)Boris Kolpackov1-4/+4
2022-10-27Suppress (potential) bogus GCC 12 -Wrestrict warningsBoris Kolpackov2-4/+4
2022-10-27Initial work on child process diagnostics bufferingBoris Kolpackov3-81/+141
Currently this is implemented for C/C++ compile and link rules.
2022-10-25Adapt to butl::semantic_version API changeKaren Arutyunov1-3/+7
2022-10-21Add clarifying commentBoris Kolpackov1-0/+4
2022-10-21Handle freestanding/broken setups when entering importable std headersBoris Kolpackov1-17/+30
Fixes GH issue #219.
2022-10-17Add pkg-config search tracingBoris Kolpackov1-2/+14
2022-10-17Tolerate case differences when looking for pkg-config filesBoris Kolpackov1-18/+26
2022-10-13Fix bug in pkg-config metadata extraction logicBoris Kolpackov1-6/+9
2022-10-13Optimize by going straight to public variable pool where applicableBoris Kolpackov2-2/+8
2022-10-10Preparatory work for public/private variable distinctionBoris Kolpackov6-10/+32
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool().
2022-10-05Check for `-`-spelled cl.exe options in addition to `/`-spelledBoris Kolpackov1-19/+29
2022-09-28Omit -l for binless libraries, metadata from common .pc fileBoris Kolpackov2-4/+26
Having -l options for binless (header-only) libraries makes it unusable from other build systems. But omitting them could make the metadata incomplete (for example, importable headers), so we omit that as well.
2022-09-27List dbghelp and mincore as system Windows librariesBoris Kolpackov1-0/+2
2022-09-27List winhttp and powrprof as system Windows librariesBoris Kolpackov1-0/+2
2022-09-21Add winrt Platform SDK header search path for MSVCBoris Kolpackov1-3/+4
This is required, for example, to build QtGui.
2022-09-19Fix race between load and match phase logic in cc:search_library()Boris Kolpackov1-12/+25
2022-08-22Manually check values for NULL when using low-level function interfaceBoris Kolpackov1-0/+12
2022-08-17Fix bug in handling of "in *.export.libs but not in prerequisites" caseBoris Kolpackov1-5/+16
2022-08-17If cl.exe path is specified then extract VC tools directory from this pathKaren Arutyunov1-32/+74
2022-08-17Handle another "in *.export.libs but not in prerequisites" caseBoris Kolpackov3-49/+78
Also, enable this check even if proc_lib is not specified unless in the execute phase.
2022-08-16Improve MSVC /DEBUG option handlingBoris Kolpackov1-19/+26
Specifically, handle the /DEBUG:<value> form in addition to /DEBUG and recognize /DEBUG:NONE.
2022-07-26Remove unused codeBoris Kolpackov1-66/+0
2022-07-26Disable risky sanity checkBoris Kolpackov1-1/+3
2022-07-25Fix typo in commentBoris Kolpackov1-1/+1
2022-07-21Map Apple Clang 13.1.6 to vanilla Clang 12.0.0Boris Kolpackov1-18/+20
2022-07-21Fix bug in common .pc file generation logic (GitHub issue #198)Boris Kolpackov1-1/+1
2022-07-20Fix bug in cc::pkconfig_save()Boris Kolpackov1-1/+1
2022-07-20Adjust to match libpkg-config interface/semantics changesBoris Kolpackov1-5/+25
2022-07-19Fix bug in target::matched()Boris Kolpackov1-6/+1
2022-07-17Map VC 17 to runtime version 14.3Boris Kolpackov1-2/+5
2022-07-05Drop unused lambda captureBoris Kolpackov1-2/+1
2022-07-05Switch to using libpkg-config instead of libpkgconf by defaultBoris Kolpackov3-7/+276
The use of (now deprecated) libpkgconf is still possible by setting config.build2.libpkgconf to true. Note that libpkgconf is known to have issues on Windows and Mac OS so this should only be used on Linux and maybe BSDs. Also note that we will only keep this until upstream (again) breaks backwards compatibility at which point we will drop this support.
2022-07-05Recognize special .for_install variable suffix in library user metadataBoris Kolpackov1-25/+79