aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc
AgeCommit message (Collapse)AuthorFilesLines
2020-04-11Pass LC_ALL=C when extracting locale-dependent information in bin module on ↵Karen Arutyunov1-1/+0
POSIX
2020-04-07Pass LC_ALL=C when extracting locale-dependent information on POSIXBoris Kolpackov2-19/+68
2020-04-02Fix ~host config to only contain cc and bin modules configurationBoris Kolpackov1-1/+1
Also add ~build2 that contains everything (except config.dist.*) to be used for build system modules.
2020-03-31Switch to project variable visibility by defaultBoris Kolpackov2-15/+18
2020-03-20Generate common .pc file in addition to static/staged when installing lib{}Boris Kolpackov6-26/+88
The common .pc file is produced by ignoring any static/shared-specific poptions and splitting loptions/libs into Libs/Libs.private. It is "best effort", in a sense that it's not guaranteed to be sufficient in all cases, but it will probably cover the majority of cases, even on Windows, thanks to automatic dllimport'ing of functions.
2020-03-17Rename all find*(variable) to lookup*(variable)Boris Kolpackov1-6/+6
Now we consistently use term "lookup" for variable value lookup. At some point we should also rename type lookup to binding and get rid of all the lookup_type aliases.
2020-03-17Rework config::{omitted,required,optional}() into unified config_lookup()Boris Kolpackov4-35/+40
2020-03-13Cleanup and make config/utility.?xx part of build system coreBoris Kolpackov1-4/+2
2020-03-11Minor config variable lookup cleanupsBoris Kolpackov1-5/+16
2020-03-10Force hard links inside backlinked DLL assembly directoryBoris Kolpackov1-1/+2
Windows does not allow the manifest file inside to be a symlink for some (probably security) reasons.
2020-02-28Add .gitattributes fileKaren Arutyunov1-1062/+1062
2020-02-27Minor code clanupBoris Kolpackov1-5/+4
2020-02-27Fix .pc files-based static linkage failing on macosKaren Arutyunov1-0/+9
Note that this is achieved by using the PKGCONF_PKG_PKGF_DONT_MERGE_SPECIAL_FRAGMENTS that we invented in the libpkgconf library.
2020-02-26Adapt to adding validator to butl::char_scannerKaren Arutyunov2-22/+32
2020-02-24Work around bug in Clang 10 targeting MSVC in c++2a (LLVM bug #44956)Boris Kolpackov2-2/+5
2020-02-24Disable /WHOLEARCHIVE workaround for lld-link 9.0.1 and laterBoris Kolpackov1-9/+16
2020-02-18New LICENSE/AUTHORS arrangementBoris Kolpackov1-0/+3
2020-02-12Defer failure to compiler diagnostics even if not in "keep going" modeBoris Kolpackov1-3/+6
2020-02-12Add convenience run_start() overloadBoris Kolpackov2-3/+3
2020-02-11Instrument unassigned source path case in cc::compile_ruleBoris Kolpackov1-1/+12
2020-02-11Add match_only flag to contextBoris Kolpackov1-2/+2
2020-02-11Defer unknown header failure to compiler diagnosticsBoris Kolpackov2-81/+192
2020-02-10Make no-target/no-rule header dependency extraction diagnostics consistentBoris Kolpackov1-9/+26
2020-02-07Drop copyright notice from source codeKaren Arutyunov41-41/+0
2020-02-06Add -l<name> resolution exclusions for Windows Platform SDK librariesBoris Kolpackov1-29/+77
2020-02-04Add note to manual on specifying search paths in compiler modeBoris Kolpackov2-1/+5
2020-02-03Fix bug in sys_*_dirs commitBoris Kolpackov1-1/+1
2020-02-03Exclude -lexecinfo from resolutionBoris Kolpackov1-0/+5
2020-02-03Add header/library search paths from compiler mode to sys_*_dirsBoris Kolpackov10-193/+352
2020-01-31Propagate installed library out (tag) when converting to nameBoris Kolpackov3-13/+31
2020-01-31Use -l representation of library names in pkg-config files for MSVCBoris Kolpackov1-5/+38
Passing it as foo.lib triggers some (brain-dead) fragmentation logic in libpkgconf. Also, a C library built with MSVC can be used in MinGW (and vice versa) and so this is also a step in supporting that.
2020-01-31Tag installed library targets with linker pathBoris Kolpackov3-24/+34
This makes sure we get different targets for different toolchains.
2020-01-29Rename module_base to module, redo module boot/init argument passingBoris Kolpackov2-18/+14
2020-01-28Use scope::var_pool()Boris Kolpackov2-28/+28
2020-01-27Protect cc guess cache with mutexBoris Kolpackov1-1/+12
2020-01-27Improve module loading APIBoris Kolpackov2-36/+17
2020-01-27Improve process run_*() APIBoris Kolpackov4-8/+14
2020-01-27Add corner case check in const.{c,cxx} array splittingBoris Kolpackov1-8/+11
2020-01-27Minor cleanupBoris Kolpackov1-15/+1
2020-01-24Don't pass dependency library non-export loptions to linkerKaren Arutyunov1-2/+10
2019-11-29Reorder {cc,c/cxx}.{poptions,loptions}Boris Kolpackov5-12/+23
Now it is c/cxx first followed by cc which is the reverse order of coptions since the header/library search paths are examined in the order specified (in contrast to the "last value wins" semantics that we assume for coptions).
2019-11-26Rename executable's .lib/.exp to avoid clashes with librariesBoris Kolpackov2-32/+44
Failed that we cannot have an executable and a library with the same name and in the same directory (their .lib's will clash).
2019-11-18Add couple of sanity checksBoris Kolpackov1-3/+8
2019-11-15Use path_name_view in location and path_name_value in location_valueKaren Arutyunov1-2/+2
2019-11-15Improve {}-imbalance diagnostics in cc::parser and make it warningBoris Kolpackov3-10/+33
2019-11-15Fix bug in cc::parser location storageBoris Kolpackov2-2/+2
2019-11-13Use path_name in cc::lexer classKaren Arutyunov13-62/+105
2019-11-08Redo Apple /usr/include detection using patternsBoris Kolpackov1-16/+8
This should cover XCode 11 where the symlinks are the other way around now (see homebrew-core issue #46393 for details).
2019-11-07Don't add $install.lib to module library search path if import.build2 is NULLBoris Kolpackov1-6/+21
2019-11-07Initial work on path_name use for `-` to stdin/stdout translationBoris Kolpackov2-2/+2