aboutsummaryrefslogtreecommitdiff
path: root/build2/bin/module.cxx
AgeCommit message (Collapse)AuthorFilesLines
2016-08-12Rename module to initBoris Kolpackov1-714/+0
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 Kolpackov1-64/+160
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 Kolpackov1-12/+27
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 Kolpackov1-68/+102
This way we don't load/configure what we don't need.
2016-07-19Add import library target libi{}, make libs{} the DLLBoris Kolpackov1-36/+56
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 Kolpackov1-25/+26
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 Kolpackov1-20/+85
2016-07-11Add bin.ld sub-moduleBoris Kolpackov1-13/+77
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-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 Kolpackov1-8/+8
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 Kolpackov1-1/+4
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 Kolpackov1-0/+4
2016-04-11New configuration logic, iteration 1Boris Kolpackov1-13/+12
2016-03-31Set part of variable override implementationBoris Kolpackov1-16/+19
2016-03-28Clean up variable usageBoris Kolpackov1-16/+16
2016-03-28New variable architectureBoris Kolpackov1-3/+3
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 Kolpackov1-10/+36
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 Kolpackov1-1/+1
2016-01-27Add support for Mingw32 target, also config.bin.ar, config.bin.ranlibBoris Kolpackov1-0/+18
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+188