aboutsummaryrefslogtreecommitdiff
path: root/build2/bin
AgeCommit message (Collapse)AuthorFilesLines
2016-11-26Add support for VC15Karen Arutyunov1-1/+1
2016-11-04Fix Clang and VC warningsKaren Arutyunov1-1/+5
2016-11-04Cleanup match_result messBoris Kolpackov2-15/+23
2016-11-04Implement auxiliary data storage pad in targetBoris Kolpackov2-1/+3
2016-11-04Various design/implementation cleanupsBoris Kolpackov1-2/+2
2016-08-30Add support for target visibility, use for dist, test, installBoris Kolpackov1-2/+1
This means we can no longer write: install = false Now it should be: *: install = false
2016-08-30Remove backwards-compatibility kludgesBoris Kolpackov1-3/+0
2016-08-29Implement initial support for library versioningBoris Kolpackov1-0/+6
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-26Add pkg-config support for import installedBoris Kolpackov1-2/+2
Redesign library importing/exporting while at it.
2016-08-22Cache process_path, use fallback search directory for binutilsBoris Kolpackov3-63/+111
2016-08-19Implement uninstall operationBoris Kolpackov1-0/+1
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-17Add support for config.bin.{lib,exe}.{prefix,suffix}Boris Kolpackov1-13/+33
This replaces the bin.libprefix functionality.
2016-08-12Rename module to initBoris Kolpackov2-6/+6
2016-08-12Add support for ordering modules in config.buildBoris Kolpackov1-0/+4
2016-08-12Implement c/cxx toolchain cross-hintingBoris Kolpackov1-42/+29
2016-08-12Implement support for C compilationBoris Kolpackov2-64/+196
We now have two new modules: cc (c-common) and c.
2016-07-21Add backwards-compatibility hack for ranlibBoris Kolpackov1-0/+3
2016-07-21Save default/hinted ar/ld/rc values as commented outBoris Kolpackov3-21/+35
This way, when we, for example, change the C++ compiler (which hinted these values), they will be automatically adjusted as well.
2016-07-20Print project name and out_root in config reportsBoris Kolpackov1-16/+16
2016-07-20Move ar/ranlib to bin.ar sub-module, load in cxx unless shared-only buildBoris Kolpackov2-68/+111
This way we don't load/configure what we don't need.
2016-07-19Add import library target libi{}, make libs{} the DLLBoris Kolpackov3-36/+81
In the end, having libs{} be the DLL with import library being its member is more natural than making libs{} the import library and having dll{} as its member.
2016-07-17Redesign obj to exe/lib mappingBoris Kolpackov4-95/+141
Specifically: * objso{} and libso{} target types have been renamed to objs{} and libs{} * obje{} has been added (so now we have obje{}, obja{}, and objs{}) * obje{} is now used for building exe{} * object file extensions have been changed to use "hierarchical extensions" that reflect the extension of the corresponding exe/lib target (instead of the -so suffix we used), specifically: obje{}: foo.o, (UNIX), foo.exe.o (MinGW), foo.exe.obj (Windows) obja{}: foo.a.o (UNIX, MinGW), foo.lib.obj (Windows) objs{}: foo.so.o (UNIX), foo.dylib.o (Darwin), foo.dll.o (MinGW), foo.dll.obj (Windows)
2016-07-11Add bin.rc module (resource compiler)Boris Kolpackov4-24/+178
2016-07-11Add bin.ld sub-moduleBoris Kolpackov4-20/+235
2016-07-09Add config.bin.pattern, pass it as hint from cxx moduleBoris Kolpackov1-16/+95
With this change we normally no longer need to specify config.bin.ar explicitly when cross-compiling or set it to lib.exe for VC.
2016-07-01Port to MSVCKaren Arutyunov1-1/+1
2016-06-27Add config.bin.target var/hint, use to decide libso{} install modeBoris Kolpackov1-57/+152
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-16/+16
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 Kolpackov1-4/+8
2016-06-11Initial VC++ support (static libraries only)Boris Kolpackov3-77/+111
2016-04-21Move target state reset back to recipe()Boris Kolpackov1-2/+0
Doing it in target::reset() (which is called by match()) didn't play well with delegated recipes.
2016-04-21Implement short-circuiting to group stateBoris Kolpackov1-0/+2
This is necessary to get rid of bogus restarts in inject_prerequisites() where it think a group member was updated since its state changed from unknown to (group's) changed.
2016-04-19Redesign src/out scopingBoris Kolpackov2-22/+46
We no longer enter paths from the src tree into scope map. Instead, targets from the src tree now include their out tree directory (in essence their "configuration"). This is then used to find a target's scope. See the comment in class target for details. The result of this change is that we can now again build multiple configurations (out trees) for same project at once.
2016-04-11New configuration logic, iteration 1Boris Kolpackov2-14/+13
2016-03-31Set part of variable override implementationBoris Kolpackov1-16/+19
2016-03-28Clean up variable usageBoris Kolpackov1-16/+16
2016-03-28Add variable cast from lookupBoris Kolpackov1-2/+2
2016-03-28New variable architectureBoris Kolpackov2-5/+5
2016-03-16Cleanup variable typingBoris Kolpackov1-16/+16
2016-03-16Cleanup typed variable assignmentBoris Kolpackov1-6/+4
2016-03-14Add support for guessing ar/ranlib signaturesBoris Kolpackov3-10/+231
2016-03-09Use depdb in cxx.link ruleBoris Kolpackov1-5/+13
2016-02-29Rename level[1-6]() to l[1-6]()Boris Kolpackov1-1/+1
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov4-5/+11
2016-01-27Add support for Mingw32 target, also config.bin.ar, config.bin.ranlibBoris Kolpackov1-0/+18
2016-01-27Rework default extension derivation, againBoris Kolpackov1-8/+7
2016-01-24Differentiate extension printing according to stream verbosityBoris Kolpackov1-0/+7
2016-01-23Clean up default target extension derivation logicBoris Kolpackov1-3/+15