aboutsummaryrefslogtreecommitdiff
path: root/build2/cxx/module.cxx
AgeCommit message (Collapse)AuthorFilesLines
2016-08-12Rename module to initBoris Kolpackov1-247/+0
2016-08-12Implement support for C compilationBoris Kolpackov1-321/+184
We now have two new modules: cc (c-common) and c.
2016-07-20Print project name and out_root in config reportsBoris Kolpackov1-4/+2
2016-07-20Move ar/ranlib to bin.ar sub-module, load in cxx unless shared-only buildBoris Kolpackov1-22/+42
This way we don't load/configure what we don't need.
2016-07-19Add import library target libi{}, make libs{} the DLLBoris Kolpackov1-16/+0
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-14/+16
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-15Make .pdb ad hoc group member, installBoris Kolpackov1-0/+7
2016-07-13Use link.exe instead of cl.exe to link executablesBoris Kolpackov1-0/+9
2016-07-11Reimplement Windows rpath emulation using embedded manifestsBoris Kolpackov1-4/+12
As a bonus, everyone now gets a sane default manifest.
2016-07-09Add config.bin.pattern, pass it as hint from cxx moduleBoris Kolpackov1-13/+74
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-80/+98
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-26Minor module interface cleanupsBoris Kolpackov1-8/+4
2016-06-26Add notion of ad hoc group, use to handle DLL/import libraryBoris Kolpackov1-6/+14
2016-04-11New configuration logic, iteration 1Boris Kolpackov1-18/+17
2016-03-31Set part of variable override implementationBoris Kolpackov1-14/+16
2016-03-28Clean up variable usageBoris Kolpackov1-8/+9
2016-03-28Add variable cast from lookupBoris Kolpackov1-1/+1
2016-03-28New variable architectureBoris Kolpackov1-6/+6
2016-03-16Cleanup variable typingBoris Kolpackov1-14/+14
2016-03-16Cleanup typed variable assignmentBoris Kolpackov1-16/+16
2016-03-14Add support for guessing ar/ranlib signaturesBoris Kolpackov1-1/+1
2016-03-11Implement --config-{guess,sub} optionsBoris Kolpackov1-3/+14
2016-03-10Set build.host.* variablesBoris Kolpackov1-1/+1
2016-03-10Add target class (cxx.target.class)Boris Kolpackov1-6/+8
2016-03-10Rename cxx.host.* to cxx.target.*Boris Kolpackov1-6/+6
2016-03-07Implement compiler guessing, including icc and msvcBoris Kolpackov1-118/+42
2016-02-29Rename level[1-6]() to l[1-6]()Boris Kolpackov1-2/+2
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-1/+1
2016-01-27Extract target from C++ compiler, set as cxx.host.{cpu,vendor,system,version}Boris Kolpackov1-1/+102
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+230