aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-08-23Rename cc.{vars,config} modules to cc.core.{vars,config}Boris Kolpackov6-52/+53
We are going to use cc.config for something else.
2016-08-22Add workaround for Windows baseutils /bin search issueBoris Kolpackov1-1/+25
2016-08-22Improve diagnosticsBoris Kolpackov1-1/+3
2016-08-22Add few extra tracing statementsBoris Kolpackov2-4/+17
2016-08-22Minor fixes and cleanupsBoris Kolpackov1-2/+8
2016-08-22Cache process_path, use fallback search directory for binutilsBoris Kolpackov21-144/+498
2016-08-21Adjust to new butl::process interfaceBoris Kolpackov3-6/+6
2016-08-20Improve bootstrap scriptsBoris Kolpackov3-83/+105
2016-08-19Implement uninstall operationBoris Kolpackov13-161/+473
2016-08-18Add missing includeBoris Kolpackov1-0/+2
2016-08-18Fix invisible inline function issueBoris Kolpackov2-8/+5
2016-08-18Lighten up config.install.* output in config.buildBoris Kolpackov1-3/+6
Now we omit non-global NULL values for cmd, options, mode, dir_mode, and sudo.
2016-08-18Add global config.install.{cmd,options,sudo,mode,dir_mode}Boris Kolpackov2-14/+49
This way we can do: b install \ config.install.data_root=/tmp/data \ config.install.exec_root=/tmp/exec \ config.install.sudo=sudo
2016-08-18Add /nologo to bootstrap-msvc.batBoris Kolpackov1-1/+1
2016-08-18Minor bootstrap batch file cleanupsBoris Kolpackov2-11/+10
2016-08-17Add config.bin.{prefix,suffix} convenience valuesBoris Kolpackov1-8/+18
These can be used to specify for both lib and exe.
2016-08-17Allow expansion of undefined/NULL namespace variablesBoris Kolpackov1-2/+4
This restriction is not proving to get in the way.
2016-08-17Add support for config.bin.{lib,exe}.{prefix,suffix}Boris Kolpackov6-28/+51
This replaces the bin.libprefix functionality.
2016-08-16Update submodulesBoris Kolpackov2-0/+0
2016-08-15Adjust bootstrap.sh interface to be similar to .bat versionsBoris Kolpackov3-20/+22
2016-08-15Include host machine in --version outputBoris Kolpackov3-4/+2
2016-08-15Add bootstrap-{msvc, mingw}.batBoris Kolpackov4-1/+247
2016-08-15Add missing header to buildfileBoris Kolpackov1-0/+1
2016-08-15Rename bootstrap to bootstrap.shBoris Kolpackov3-5/+5
Since it is a POSIX shell script (as opposed to bash script) and since we are going to have bootstrap-*.bat.
2016-08-13Use extension derivation function rather than extension variable directlyBoris Kolpackov2-6/+11
2016-08-12Rename module to initBoris Kolpackov17-65/+86
2016-08-12Add support for ordering modules in config.buildBoris Kolpackov13-19/+97
2016-08-12Implement c/cxx toolchain cross-hintingBoris Kolpackov7-97/+248
2016-08-12Implement support for C compilationBoris Kolpackov53-1359/+2914
We now have two new modules: cc (c-common) and c.
2016-08-10Add ignore case support for find_option()Karen Arutyunov7-51/+37
2016-08-09Fix bug in inner/outer operation handlingBoris Kolpackov1-1/+3
2016-08-05Implement out-qualified target syntax for setting target-specific varsBoris Kolpackov7-18/+66
So now we can do: doc{INSTALL}@./: install = false Note that so far that's the only place where we support out-qualification. Grep for @@ OUT to see other places.
2016-08-05Enable pair recognition in the normal and eval lexer modesBoris Kolpackov2-8/+17
We need this for the out-qualified target syntax: h{config}@./: install = false
2016-08-05Merge 'value' and 'pairs' lexer_mode, call it 'value'Boris Kolpackov4-49/+46
We only really used pairs.
2016-08-03Add support for preserving subdirectories when installingBoris Kolpackov2-8/+36
This is handy, for example, when installing headers: install.include = $install.include/foo install.include.subdirs = true The base for calculating the subdirectories is the scope where the subdirs value is set.
2016-08-03Add -V option as equivalent to --verbose 3Boris Kolpackov5-1/+24
2016-08-03Don't treat absent config values that are saved commented as newBoris Kolpackov2-3/+7
2016-08-02Cosmetic changeBoris Kolpackov2-4/+4
2016-08-02Check for eof before streaming rdbufBoris Kolpackov1-3/+9
2016-08-02Filter gratuitous VC cl.exe and link.exe messagesBoris Kolpackov3-18/+119
2016-08-02Trace PATH environment variableBoris Kolpackov1-2/+6
2016-08-02Optimize out path::normalize() callsBoris Kolpackov3-10/+34
2016-08-01Work around MSYS2 install.exe permission issueBoris Kolpackov1-3/+36
2016-08-01Fix relinking on install for VCBoris Kolpackov1-4/+9
2016-07-30Construct paths to use canonical directory separatorsBoris Kolpackov6-29/+47
Hardcoding separators as in "build/root.build" is now a big no-no.
2016-07-30Actualize project root directoriesBoris Kolpackov5-15/+23
This solves the problem of changing path spelling on platforms with case- insensitive filesystems. For example, you may build a project in the current working directory without specifying any paths. This means the current working directory will be used as the project's root. On Windows this could be C:\x. Now you are building another project that imports the above project and you specify config.import.x variable pointing to the above build. But you are lazy to type capital C so you spell it as config.import.x=c:\x. What happens now is the value from config.import.x is used as the project root. And now it is a different spelling compared to your original build. This is not a problem when the build system itself is concerned -- it is smart enough to use case-insensitive comparison. However, we often use roots to derive other things, say, -I options that we pass to compilers. And these options are normally no longer treated as (case-insensitive) paths. If they are hashed and the result stored in depdb, then we end up with rebuilds that are triggered by changes from C:\ to c:\.
2016-07-30Fix missing src_root initializationBoris Kolpackov1-0/+2
2016-07-29Fix bug in prerequisite iteration leave group supportBoris Kolpackov2-1/+5
2016-07-29Suppress VC banners even at verbosity above 2Boris Kolpackov2-7/+3
There is really no use seeing this stuff.
2016-07-29Make /EHsc and /MD default for VC compilerBoris Kolpackov4-18/+242