aboutsummaryrefslogtreecommitdiff
path: root/build2/install
AgeCommit message (Collapse)AuthorFilesLines
2016-12-05Eliminate the use of '/...' paths on WindowsKaren Arutyunov1-11/+23
2016-11-04Cleanup match_result messBoris Kolpackov2-22/+38
2016-11-04Add target::out_dir() accessorBoris Kolpackov1-2/+1
2016-11-04Add support for skipping rule in delegate_match()Boris Kolpackov1-1/+1
2016-09-17Audit all print_process()/process ctor for path_search()Karen Arutyunov1-28/+38
2016-09-13Fix crashing on unhandled system_error thrown by file_exists()Karen Arutyunov1-0/+2
2016-09-13Fix crashing on empty installation directory nameKaren Arutyunov1-0/+4
2016-09-04Fix crash on uninstallKaren Arutyunov1-9/+15
2016-09-04Always use rm/rmdir utilities on Windows to delete stuff being usedBoris Kolpackov1-2/+8
2016-08-30Add support for target visibility, use for dist, test, installBoris Kolpackov1-4/+3
This means we can no longer write: install = false Now it should be: *: install = false
2016-08-30Add support for install.subdirs so can be specified for scopeBoris Kolpackov2-32/+60
2016-08-30Remove backwards-compatibility kludgesBoris Kolpackov1-1/+1
2016-08-30Change function names to make VC happyBoris Kolpackov2-20/+20
2016-08-29Implement initial support for library versioningBoris Kolpackov2-46/+148
Currently we only support platform-independent versions that get appended to the library name. The magic incantation is this: lib{foo}: bin.lib.version = @-1.2 This will produce libfoo-1.2.so, libfoo-1.2.dll, etc. In the future we will support things like this: lib{foo}: bin.lib.version = linux@1.2.3 freebsd@1.2 windows@1.2
2016-08-23Add support for installing into a different file nameBoris Kolpackov3-31/+56
Now the install variable is a path, not dir_path. If it is a directory (ends with a trailing slash), then the target is installed into this directory with the same name. Otherwise, the entire path is used as the installation destination.
2016-08-19Implement uninstall operationBoris Kolpackov5-130/+422
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-12Rename module to initBoris Kolpackov2-6/+6
2016-08-12Add support for ordering modules in config.buildBoris Kolpackov1-2/+7
2016-08-10Add ignore case support for find_option()Karen Arutyunov1-3/+1
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-01Work around MSYS2 install.exe permission issueBoris Kolpackov1-3/+36
2016-07-30Construct paths to use canonical directory separatorsBoris Kolpackov1-11/+26
Hardcoding separators as in "build/root.build" is now a big no-no.
2016-07-28Adjust to new path implementation, use to support reversibilityBoris Kolpackov1-2/+2
2016-07-08Move filesystem-related functions from context to new filesystem filesBoris Kolpackov1-2/+1
2016-06-27Add config.bin.target var/hint, use to decide libso{} install modeBoris Kolpackov1-2/+2
Normally the user doesn't need to specify config.bin.target explicitly since the cxx module will hint it. We now also have the whole set of target's components: bin.target.{cpu,vendor,system,version,class}
2016-06-27Get rid of extern "C" in module boot()/init()Boris Kolpackov2-20/+20
We will have a separate (extern "C") register() function that will return the pointers to these two. This way we can still throw exceptions from boot() and init().
2016-06-26Add support for passing configuration hints via module init()Boris Kolpackov2-3/+11
2016-06-26Add notion of ad hoc group, use to handle DLL/import libraryBoris Kolpackov3-26/+66
2016-04-20Type install.mode variableBoris Kolpackov1-1/+2
2016-04-12Mark non-BC changes for futureBoris Kolpackov1-1/+1
2016-04-11Adjust abs_dir_path usage to take advantage of inheritanceBoris Kolpackov1-18/+18
2016-04-11New configuration logic, iteration 1Boris Kolpackov4-27/+27
2016-03-31Set part of variable override implementationBoris Kolpackov1-3/+5
2016-03-28Clean up variable usageBoris Kolpackov2-18/+22
2016-03-28Add variable cast from lookupBoris Kolpackov2-11/+11
2016-03-28New variable architectureBoris Kolpackov2-14/+17
2016-03-16Cleanup variable typingBoris Kolpackov1-5/+3
2016-03-11Implement --config-{guess,sub} optionsBoris Kolpackov1-1/+0
2016-02-29Rename level[1-6]() to l[1-6]()Boris Kolpackov2-3/+3
2016-02-29Implement auxiliary dependency database (.d files), use in cxx.compileBoris Kolpackov1-4/+2
This is part of the "High Fidelity Build" work.
2016-02-15Catch system_error thrown by dir_exists() in installBoris Kolpackov1-44/+50
For example, we can get EACCES because we don't have permissions for some of the leading components. Of course, if we have sudo, then that may not be the case if we actually tried 'install -d' on it. So this will probably have to be revised at some point.
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov4-11/+15
2016-01-25Create install.root instead of complaining if it doesn't existBoris Kolpackov1-8/+9
2016-01-09Update copyright yearBoris Kolpackov7-7/+7
2016-01-05Rename build directory/namespace to build2Boris Kolpackov7-0/+763