aboutsummaryrefslogtreecommitdiff
path: root/build2/install
AgeCommit message (Collapse)AuthorFilesLines
2017-05-01Add hxx extension for headersKaren Arutyunov8-63/+63
2017-04-27Pass target to prerequisite searchBoris Kolpackov1-2/+2
2017-04-10Adapt to process_error changeKaren Arutyunov1-5/+5
2017-03-16Add support for passing parameters to (meta-) operationsBoris Kolpackov1-1/+4
2017-03-02Implement parallel matchBoris Kolpackov2-24/+20
2017-02-13Implement parallel error propagation, keep_going modeBoris Kolpackov2-3/+13
Keep going is the default but there is now the -s|--serial-stop that makes the driver run serially and stop at first error. Also fix some lockups, other minor improvements/features.
2017-02-13Do some naming cleanupsBoris Kolpackov1-2/+2
2017-02-13Implement parallel operation executionBoris Kolpackov1-1/+1
2017-02-13Use target:as<> instead of static_cast for target castingBoris Kolpackov1-6/+5
2017-02-13Pass const target& to recipesBoris Kolpackov2-27/+34
2017-02-13Pass const scope& where modification should not happenBoris Kolpackov1-2/+5
2017-02-13Implement pattern-based variable typing, tighten variable type updateBoris Kolpackov1-1/+1
2017-02-13Add model mutex, make var_pool const by defaultBoris Kolpackov4-52/+62
2017-01-24Add default constructors to *_rule classes to make older clang happyKaren Arutyunov1-0/+4
2017-01-23Make rules const throughoutBoris Kolpackov1-2/+2
2017-01-23Add bunch of missing const'sBoris Kolpackov2-4/+4
2017-01-20Remove prerequisite caching in scopeBoris Kolpackov1-1/+1
We don't share them often and those that are shared (e.g., cxx{} in obja/objs{}) are lightweight (SOO).
2017-01-19Get rid of project_name_poolBoris Kolpackov1-1/+1
With small string optimizations this is most likely a hindrance rather that an optimization.
2017-01-12Implement support for narrowing down tests (config.test)Boris Kolpackov1-6/+6
2017-01-09Make use of operator<<(ostream, exception)Karen Arutyunov1-10/+10
2017-01-05Update copyright yearBoris Kolpackov7-7/+7
2016-12-16Move exe{} to build2 core, add fallback extensions (existing files)Boris Kolpackov1-0/+1
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().