aboutsummaryrefslogtreecommitdiff
path: root/libbuild2
AgeCommit message (Collapse)AuthorFilesLines
2019-09-30Reserve `:` in `case` pattern expression for future match extraction supportBoris Kolpackov3-7/+18
2019-09-30Add support for custom match/extract functions in switch expressionBoris Kolpackov4-58/+131
2019-09-30Add support for `case` pattern alternativesBoris Kolpackov4-24/+83
case <pattern>[ | <pattern>...]
2019-09-30Allow multiple `case` for single line/blockBoris Kolpackov2-35/+89
2019-09-30Pattern matching support (switch): multiple values implementationBoris Kolpackov3-37/+76
2019-09-30Pattern matching support (switch): single value implementationBoris Kolpackov3-46/+230
2019-09-27Adapt to bracket expressions in wildcard patternsKaren Arutyunov4-41/+53
2019-09-27Add support for testscript builtin escapingKaren Arutyunov1-4/+23
2019-09-27Move testscript builtins to libbutlKaren Arutyunov7-5994/+242
2019-09-19Fix crashing on testscript command redirect overridesKaren Arutyunov3-4/+132
2019-09-18Rename importable_headers variable to translatable_headersBoris Kolpackov5-34/+33
This name aligns better with the post-Cologne importable/translatable semantics.
2019-09-18Temporarily force c++17 if using GCC modules branchBoris Kolpackov1-1/+5
The use of 2a-isms in the standard library are breaking things on a regular basic.
2019-09-05Improve /showIncludes parsing to handle internal (debug?) builds of MSVCBoris Kolpackov1-5/+17
2019-09-05Tighten versioned shared library cleanup logicBoris Kolpackov1-12/+23
2019-09-04Add support for native shared library versioning on LinuxBoris Kolpackov3-30/+126
Now we can do: lib{foo}: bin.lib.version = linux@1.2 And end up with libfoo.so.1.2 libfoo.so.1 -> libfoo.so.1.2
2019-08-30Make build_installed constBoris Kolpackov3-5/+4
2019-08-30Cutoff diagnostics stack when switching to nested contextBoris Kolpackov3-26/+51
2019-08-29Work around VC14 miscompilationKaren Arutyunov1-0/+8
2019-08-28Export dependency on -lpthreadBoris Kolpackov1-0/+6
2019-08-28Make lib{build2} "implied interface dependency" of modulesBoris Kolpackov8-44/+30
This makes our compilation and linking command lines a little bit saner.
2019-08-28Cleanup buildfiles some moreBoris Kolpackov1-2/+6
2019-08-28Reduce repetition in buildfilesBoris Kolpackov3-17/+4
2019-08-28Add/update some module descriptionsKaren Arutyunov7-3/+25
2019-08-28Move cxx build system module to separate libraryKaren Arutyunov8-4/+976
2019-08-28Move c build system module to separate libraryKaren Arutyunov7-1/+559
2019-08-28Move cc build system module to separate libraryKaren Arutyunov43-1/+20869
2019-08-28Move bin build system module to separate libraryKaren Arutyunov16-1/+2691
2019-08-28Redo build_installed without requiring linking whole archiveBoris Kolpackov6-24/+21
2019-08-27Temporary fix for multiple whole archive linking issueBoris Kolpackov1-9/+3
2019-08-27Force use of RPATH instead of RUNPATH on LinuxBoris Kolpackov1-1/+9
RUNPATH messes up our use of dlopen().
2019-08-27Propagate global var overrides to module build contextBoris Kolpackov3-6/+14
2019-08-27Redo module context pointerBoris Kolpackov2-9/+11
2019-08-27Reorder dependencies in buildfileBoris Kolpackov1-4/+6
2019-08-27Tweak cross-compilation detection in buildfileBoris Kolpackov1-4/+11
2019-08-27Don't set import.build2 variable in cross-compiled build2Karen Arutyunov2-7/+8
2019-08-26Implement auto-import of development build2 buildBoris Kolpackov7-10/+88
2019-08-26Add support for for_install prerequisite-specific var in link ruleBoris Kolpackov2-0/+5
Also reserve for_test.
2019-08-26Improve diagnostics in import_module()Boris Kolpackov1-20/+25
2019-08-26Fix bug in import_search()Boris Kolpackov1-2/+2
2019-08-26Fix bug in scope::find_target_key()Boris Kolpackov1-1/+8
2019-08-26Improve diagnosticsBoris Kolpackov1-1/+1
2019-08-26Fix typoKaren Arutyunov1-1/+2
2019-08-26Suppress gcc's 'control reaches end of non-void function' warningKaren Arutyunov1-1/+1
2019-08-26Implement updating build system modulesBoris Kolpackov9-31/+208
2019-08-26Factor target name processing code from parser to scopeBoris Kolpackov4-50/+91
2019-08-26Make target types project-wideBoris Kolpackov9-53/+80
2019-08-25Split import into search and load stepsBoris Kolpackov3-49/+89
This allows us to load things in a separate context.
2019-08-23Introduce notion of build contextBoris Kolpackov89-1830/+2115
All non-const global state is now in class context and we can now have multiple independent builds going on at the same time.
2019-08-23Disable dynamic build system module loading in bootstrap buildBoris Kolpackov1-6/+17
We don't really need it so why jump through hoops like trying to portably link -ldl, etc.
2019-08-21Cleanup context.hxx and its usageBoris Kolpackov25-334/+341