aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-06-26Add support for $path_search() and $path_match()Karen Arutyunov13-38/+467
2017-06-26Make path value type to be base for dir_pathKaren Arutyunov2-7/+10
2017-06-26Further C++ modules support documentationBoris Kolpackov1-2/+113
2017-06-24Make VC compatible with 'export module M;' by fixing up preprocessed outputBoris Kolpackov6-13/+66
2017-06-23Don't treat mxx{} as cc-sourceBoris Kolpackov2-4/+4
If we do it, then the link rule will refuse to match when modules are disabled (in which case mxx{} should be treated as a header).
2017-06-22Add extra support for symbol exporting in modularized projectsBoris Kolpackov6-4/+74
Since modules don't see each other's macros, we can use a single, keyword- like macro for dll-exporting that is managed by the build system (so no need for an "export" header). For example: cxx.features.symexport = true export __symexport void f ();
2017-06-22Update manual with initial modules supportBoris Kolpackov1-0/+502
2017-06-21Add support for $envvar() functionKaren Arutyunov3-3/+96
2017-06-21Move regex utilities to libbutlKaren Arutyunov6-318/+2
2017-06-20Adjust search logic for std.* modulesBoris Kolpackov1-14/+45
1. Don't do fuzzy match for std.* modules (more precisely, for 'std' and std.*). This means if we want to build a std.* module, we have to specify its name explicitly: mxx{std-core}@./: cc.module_name = std.core The idea is that we don't want, say, std.core to be fuzzy-matched to some unrelated core.mxx while #2 below could have done the right thing. 2. We allow such modules to go unresolved with the assumption that they are pre-built and will be found by other means (e.g., VC's IFCPATH).
2017-06-20Build both variants of libraries in modules testBoris Kolpackov1-0/+1
2017-06-20Force Clang not to reference source files from BMIs, add traceBoris Kolpackov1-1/+12
2017-06-20Fix bug in bmi{} rule chainingBoris Kolpackov1-2/+8
2017-06-19Dereference pointer when printingBoris Kolpackov1-1/+1
2017-06-19Add more examples of wildcard pattern exclusionsBoris Kolpackov1-0/+14
2017-06-19Make use of exit builtin in modules testBoris Kolpackov1-5/+1
2017-06-19Add support for exit testscript builtinKaren Arutyunov7-291/+858
2017-06-19Fix conditional scope to never be emptyKaren Arutyunov1-0/+1
2017-06-16Fix bug (forward-declared inline function)Boris Kolpackov2-32/+26
2017-06-16Add support for explicitly specifying module name on mxx{} targetBoris Kolpackov5-27/+95
2017-06-16Clean up module-related diagnosticsBoris Kolpackov7-11/+64
2017-06-16Convert test to new ln builtinBoris Kolpackov1-20/+19
2017-06-16Store module information in depdbBoris Kolpackov7-104/+289
2017-06-15Add support for ln testscript builtinKaren Arutyunov5-17/+461
2017-06-15Enable all module tests for GCC (requires cxx-modules r249216)Boris Kolpackov1-8/+4
2017-06-15Fix modules test not to run for VC15u0Boris Kolpackov1-3/+8
2017-06-15Implement module search in prerequisite librariesBoris Kolpackov3-89/+223
2017-06-14Fix modules testBoris Kolpackov1-1/+2
2017-06-14Get rid of warningsBoris Kolpackov1-2/+2
2017-06-14Next installment in C++ modules saga: module search, re-export supportBoris Kolpackov12-103/+585
2017-06-12Add example of more complex pattern exclusionBoris Kolpackov1-1/+9
2017-06-12Don't force C++ modules in tests for VCBoris Kolpackov1-1/+4
2017-06-12Fix crashing if path_search() failsKaren Arutyunov1-2/+9
2017-06-12Remove few unused lambda capturesBoris Kolpackov6-10/+10
2017-06-12Add initial tests for C++ modules supportBoris Kolpackov2-0/+115
2017-06-12Fix couple of deadly bugsBoris Kolpackov2-2/+2
2017-06-12Resolve ambiguity between std:: and butl:: optionalBoris Kolpackov1-0/+2
2017-06-12Extend workaround version checks to VC15u3 (19.11)Boris Kolpackov2-4/+4
2017-06-12Reimplement thread thunking with lambda; this helps Clang 5.0/trunkBoris Kolpackov1-18/+10
2017-06-12Only enable modules if practically usable unless forcedBoris Kolpackov1-4/+10
2017-06-12Add workaround for Clang module import during preprocessingBoris Kolpackov7-44/+79
2017-06-09Only enable modules for GCC from the cxx-modules branchBoris Kolpackov1-3/+4
2017-06-09Only enable modules support starting from VC15u3 (19.11)Boris Kolpackov1-2/+5
2017-06-09Add support for VC15u3 which bumped the compiler version to 19.11Boris Kolpackov1-9/+11
2017-06-08Add full support for pattern exclusionsKaren Arutyunov2-31/+29
2017-06-08Implement rule chaining for modulesBoris Kolpackov13-263/+474
2017-06-06Adapt to libbutl::process interface changeKaren Arutyunov2-4/+4
2017-06-05Remove implicit see-through iteration over ad hoc group membersBoris Kolpackov4-55/+16
This can only be done MT-safely after a synchronous match.
2017-06-05Fix bug in library meta-information protocol implementationBoris Kolpackov1-7/+9
2017-06-04Adjust Clang language selectionBoris Kolpackov1-22/+9