<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/78733>78733</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc] re-configure libc as a runtime library will eliminate libc targets
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
SchrodingerZhu
</td>
</tr>
</table>
<pre>
Recent changes make it hard for me to debug libc's cmake when enabling libc as a runtime library.
For example, with
```
{
"cmake.configureSettings": {
"LLVM_ENABLE_RUNTIMES": [
"libc",
"compiler-rt"
],
"LLVM_ENABLE_PROJECTS": [
"clang",
"lld"
],
"LLVM_LIBC_FULL_BUILD": true,
"CMAKE_EXPORT_COMPILE_COMMANDS": true,
"LLVM_LIBC_INCLUDE_SCUDO": true,
"LLVM_USE_LINKER": "lld",
"CLANG_DEFAULT_LINKER": "lld",
"CLANG_DEFAULT_RTLIB": "compiler-rt",
"COMPILER_RT_BUILD_SCUDO_STANDALONE_WITH_LLVM_LIBC": true,
"COMPILER_RT_BUILD_GWP_ASAN": false,
"COMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED": false,
"CMAKE_CXX_COMPILER_LAUNCHER": "/usr/bin/sccache",
"CMAKE_C_COMPILER_LAUNCHER": "/usr/bin/sccache"
},
"cmake.sourceDirectory": "${workspaceFolder}/llvm",
}
```
It is fine to run `ninja libc` or `ninja check-libc` for the first time. Then, I changed something in the libc's cmake, which effectively triggered the `reconfiguration`. After that, any libc related targets will disappear, leaving me
```
[2302/2303] cd /home/schrodingerzy/Documents/llvm/llvm...s/runtimes-bins/ --target libc --config RelWithDebInfo
ninja: error: unknown target 'libc'
FAILED: runtimes/CMakeFiles/libc /home/schrodingerzy/Documents/llvm/llvm-project/build/runtimes/CMakeFiles/libc
cd /home/schrodingerzy/Documents/llvm/llvm-project/build/runtimes/runtimes-bins && /usr/bin/cmake --build /home/schrodingerzy/Documents/llvm/llvm-project/build/runtimes/runtimes-bins/ --target libc --config RelWithDebInfo
ninja: build stopped: subcommand failed.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0Vl1v4jgU_TXmxQIFh0B54CGQZIadlFZ87Iz2JXKcS-KpYyPbmW7316-cpNDSdkY70kqIxPa959wP-8TUGF5KgAUKliiIBrSxldKLHau0KrgsQf9VNYNcFU-LLTCQFrOKyhIMrukDYG5xRXWBj0rjGrBVuIC8KbHgOUNkZjBrzR4rkBgkzQWX3SKmBlOsG2l5DW5GU_00Ql6EvLD7T5TG8DetTwIQWeFHbqt-eer1v244W3YvGBHS0o2YkkdeNhp2YC2XpUGEID_EF1OMnXWa_nmbxZtwmcbZ9rDZr2_j3bNp8AK1y4Ygsrq4twBM1ScuQA-1desX7CB6ZXzFdb-9-yNe7d9ynXEFleW7jEIUHzM906Tr5SpLDmmaLQ_rNOpprG7gOqrVbfglzuJv93fbfba6u71fp7F73oabaPcTvwvNerNKD1Gc7VaH6O5XHoddnKXrzZd4-5z6OaPrwNJw8ymL4iQ8pPtf-rxx2O7T9fJif9WnV35d0ttsu--q1WWS7fbhJgrTu02cfV3vP2fnjN_N8V2gT1_vs3AXbnqPIxXmY5c3rH0wn8NtHH2M0PZv9e1bdsZKw8Nm9flltRBJGqMRSXIuEUkMY5RV8KYQHdTvAfWtQ7PXu7E7jkY1mkHENTCr9NNLvAmaLR-VfjAnyiBRogDdYiRC_KhfRuhm3zv9a4u5wUcuW_HRjcRo6kkuv9NOg6YeVvoyxypgD8PnFadatgJ85NpY7JRohPcVSKc3617oCmxUDbZywsVla_5a3FpxqjirMByPwCz_AeIJW83LEjQUrQeaehqeVYlariSaeiMcHi24CKh1IFQ-ddKoQVDrPKkuwRr8yIXABTf0dAKqnakA-sMFVMP7khgsie-5dhHf81EQYVZgRJJK1dD27Szu_zwhkkSKNTVIa851bx-j0cjN9BpthjmXboyHwy6wLtjhsMsLb0F85baKIF_Lo-oCaYvumg1aK-1eGvkg1aPsc8OIzPpq9qIfrtM4cobPtIgkq1v6AAkX7aAl_c-5DE9afQdm3d5tuFOP5OcEbTS_U7WfM70qJkZkisgUXx2r7pM5HLbu_2sAv9vNLjJj1ekEhZswTc5UXVNZ4CPlAorR1b4cFAu_mPtzOoDFeOYF09ncJ7NBtSjysQcTYGQCcxIEUxj73nwyDXICxxt_7g34gnhk4o3H83EwuZlMRjczoDmb-jfjaR4QBmjiQU25GLV7VulywI1pYDG7mfn-QNAchGlvN5fveBAN9KKtVd6UBk08wY01FwDLrWhvRK1DEGENw_Od4uPrS3dQQfCaS2p7w_4QDxotFpW1J4P8EJEEkaTktmryEVP1hw1sM3FtapP5NwAA__9g4-gM">