aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-11-01For runtime-only libs{} installation keep all names except linkBoris Kolpackov1-44/+42
2023-11-01Handle match options for post hoc libs{} prerequisites in cc::install_ruleBoris Kolpackov2-0/+78
2023-11-01Add support for adjusting match options of post hoc prerequisitesBoris Kolpackov7-46/+153
2023-10-30WIP: install: complete reapply() for libuBoris Kolpackov3-25/+127
2023-10-30WIP: install: fixBoris Kolpackov1-1/+1
2023-10-27WIP: install: don't install static library binaryBoris Kolpackov3-8/+15
2023-10-27WIP: install: fix library selection logicBoris Kolpackov1-2/+93
2023-10-27WIP: install: headersBoris Kolpackov1-5/+8
2023-10-27WIP: install: file_rule::reapply_impl()Boris Kolpackov3-25/+130
2023-10-27WIP: install: ad hoc membersBoris Kolpackov4-55/+96
2023-10-26WIP: installBoris Kolpackov8-163/+448
2023-10-26WIP: fixes for match optionsBoris Kolpackov3-6/+19
2023-10-26Undo "Don't install static library prerequisites of executable"Boris Kolpackov2-26/+1
This turned out not to be always correct since a static library can have prerequisites that it requires at runtime (see the libca-certificates-curl for an example). The new plan is to split static/shared library installation into run-time and build-time parts using the new match options mechanism.
2023-10-26WIP: forward reapply() call to C++ ad hoc rule/recipeBoris Kolpackov4-4/+22
2023-10-26WIP: reorder options/fail argument in match_*() functionsBoris Kolpackov3-38/+43
2023-10-26WIP: add rematch_*() functionsBoris Kolpackov2-1/+51
2023-10-26WIP: drag options through all the match_*() functionsBoris Kolpackov3-42/+62
2023-10-26WIP: add options to match_rule(), match_recipe()Boris Kolpackov3-12/+26
2023-10-26WIP: rename match_rule() to match_rule_impl()Boris Kolpackov8-27/+30
2023-10-26WIP: update documentation, deal with ad hoc group membersBoris Kolpackov2-37/+97
2023-10-26WIP: move match_adhoc() call into match_impl_impl()Boris Kolpackov2-53/+23
2023-10-26WIP: drag options up the stackBoris Kolpackov7-66/+233
2023-10-26WIP: add match_extra data member and rule::rematch()Boris Kolpackov5-6/+50
2023-10-26Add inject_fsdir_direct(), fsdir_rule::perform_clean_direct() functionsBoris Kolpackov4-4/+55
2023-10-26Add clean_during_match*() functionsBoris Kolpackov2-1/+196
2023-10-26Minor diagnostics improvementBoris Kolpackov2-5/+15
2023-10-10Replace builds value host with all:&hostBoris Kolpackov1-1/+1
2023-10-09Minor additions to manualBoris Kolpackov1-2/+26
2023-10-06Handle 0 mask in update_during_match_prerequisites()Boris Kolpackov3-6/+7
2023-10-04Add match_direct_complete() to support async direct matchesBoris Kolpackov2-19/+30
2023-09-28Don't mark rdata symbols DATA in MSVC .def file (GH issue #315)Boris Kolpackov1-1/+9
2023-09-25Treat -liconv on Mac OS as systemBoris Kolpackov1-1/+5
2023-09-21Fix bug in previous commitBoris Kolpackov1-1/+1
2023-09-21Don't install static library prerequisites of executableBoris Kolpackov2-1/+32
2023-09-20Fix issue with fallback rule priority in dist moduleBoris Kolpackov6-22/+48
While at it, also remove workarounds for the same issue in the config and test modules.
2023-09-11Invoke Clang to produce object files for module partitions similar to interfacesSwat SomeBug1-2/+7
Module interface and implementation partitions are like module interfaces so it's not surprising they require similar compilation steps. See GH PR #328 for background.
2023-09-08Manually extract library search paths from LIBRARY_PATH for ClangBoris Kolpackov4-70/+90
Unlike GCC, Clang does not incorporate the LIBRARY_PATH environment variable value into the -print-search-dirs output.
2023-09-07Search for .tbd in addition to .dylib in Mac OSBoris Kolpackov1-0/+25
Besides .dylib, Mac OS now also has "text-based stub libraries" that use the .tbd extension. They appear to be similar to Windows import libraries and contain information such as the location of the .dylib library, its symbols, etc. For example, there is /Library/.../MacOSX13.3.sdk/usr/lib/libsqlite3.tbd which points to /usr/lib/libsqlite3.dylib (but which itself is invisible/inaccessible, presumably for security). Note that for now we are treating the .tbd library as the shared library but could probably do the more elaborate dance with ad hoc members like on Windows if really necessary.
2023-09-07Add implied .../MacOSX*.sdk/usr/lib/ to system library search directoriesBoris Kolpackov1-7/+22
2023-09-06Don't crash if config.report.variable names undefined variableBoris Kolpackov1-2/+2
2023-08-29Fix typo in manualIldar1-1/+1
2023-08-29Add diagnostics color support on Windows (GH issue #312)Boris Kolpackov3-27/+66
Note that currently this has to be enabled with an explicit --diag-color option. In the future the plan is to enable it by default if supported.
2023-08-25Fix few minor grammatical nits in manualChristopher Head1-5/+5
2023-08-23Replace assert with diagnostics in bootstrap_src() (GH issue #322)Boris Kolpackov1-0/+9
2023-08-22Document installed library search semantics and pkg-config integrationBoris Kolpackov1-16/+123
2023-08-22Consider *_inc{} target types as headers for rule match purposesBoris Kolpackov7-18/+26
2023-08-22Add abstract c_inc{} and cxx_inc{} target typesBoris Kolpackov7-4/+71
These abstract base target types are meant for deriving additional target types (for example, Qt moc{}) that can be #include'd in C and C++ translation units, respectively. In particular, only such targets will be considered to reverse-lookup extensions to target types (see dyndep_rule::map_extension() for background).
2023-08-09Auto-extract function documentation from functions-*.cxxBoris Kolpackov5-370/+849
2023-08-09Complete and cleanup function documentation in preparation for auto-extractionBoris Kolpackov15-309/+537
Also: - Move the $target.*() function family from functions-name.cxx to separate functions-target.cxx. - Get rid of the separate $process_path_ex.*() family, merging it with $process_path.*().
2023-08-03Document target types in manual (GH issue #309)Boris Kolpackov2-16/+606