<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/123786>123786</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[BUILD] Not able to select mold in Windows
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
QBos07
</td>
</tr>
</table>
<pre>
I try to configure to LLM to build with mold as the linker. I use clang from LLVM 19 windows release.
My cmake invocation is `cmake -S . -B build -DLLVM_USE_LINKER=mold -DLLVM_PARALLEL_LINK_JOBS=1`
I also tryed `CMAKE_LINKER=mold` and setting `-fuse-ld=mold`
still:
```ninja
build bin/llvm-min-tblgen.exe: CXX_EXECUTABLE_LINKER__llvm-min-tblgen_Debug utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/ARMTargetDefEmitter.cpp.obj utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/Attributes.cpp.obj utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/CodeGenIntrinsics.cpp.obj utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/DirectiveEmitter.cpp.obj utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/IntrinsicEmitter.cpp.obj utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RISCVTargetDefEmitter.cpp.obj utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/SDNodeProperties.cpp.obj utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TableGen.cpp.obj utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/VTEmitter.cpp.obj utils/TableGen/CMakeFiles/llvm-min-tblgen.dir/llvm-min-tblgen.cpp.obj | lib/LLVMSupport.lib lib/LLVMTableGen.lib lib/LLVMDemangle.lib || lib/LLVMDemangle.lib lib/LLVMSupport.lib lib/LLVMTableGen.lib utils/TableGen/Basic/obj.LLVMTableGenBasic
FLAGS = -Werror=date-time -Werror=unguarded-availability-new -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -O0 -D_DEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrtd -g -Xclang -gcodeview
LINK_FLAGS = -fuse-ld=mold -Xlinker /subsystem:console -fuse-ld=lld-link
LINK_LIBRARIES = lib/LLVMSupport.lib lib/LLVMTableGen.lib -lpsapi.lib -lshell32.lib -lole32.lib -luuid.lib -ladvapi32.lib -lws2_32.lib -lntdll.lib lib/LLVMDemangle.lib -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -loldnames
OBJECT_DIR = utils\TableGen\CMakeFiles\llvm-min-tblgen.dir
POST_BUILD = cd .
PRE_LINK = cd .
TARGET_COMPILE_PDB = utils\TableGen\CMakeFiles\llvm-min-tblgen.dir\
TARGET_FILE = bin\llvm-min-tblgen.exe
TARGET_IMPLIB = lib\llvm-min-tblgen.lib
TARGET_PDB = bin\llvm-min-tblgen.pdb
```
notice the `-Xlinker /subsystem:console -fuse-ld=lld-link` at the end
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0Vt9v4jgQ_mvMi2UUEn6UBx6AQMVu2PaALn1DTjyEaR07Zzuwvb_-5KS0tNs73a26EsL2N-PP47Gd-bi1mCuAEelNSC9u8codtBn9MdE2GLRSLZ5GC-rME3WaZlrtMa8M-EGSLH2TVigFPaE70EJLQbml7gBUonoE06YLWlmgmeQqp3ujC5ok35e0M6QnVEKfLDUggVtok2BMgvHyiWYFfwSK6qgz7lAripaSftDAbE3blE2eV2WxZ9vdrWe7ZPHt62xForgO4tlwO16Nk2SW1Nbdl5vJmkRxh_SDZrEF5dJqvzkQfonpcvz1HRPpB5QrQS04hyr3XmxfWWBSvHo0bNahlCTyXY_VP4XqgZNg3ISboiLhXMpjwQpUzKUyB9WGH0CiMZ3e3-9m97Pp3WY8Sc5R7HbvvHcxpFVOK4fSknC-4amEa_C0E24xI-F8uuSPMEcJ3q7Th7bPxNmvdmoLNCScj1fLDTc5uBj2swKdA9POyrKt04fP4XfOYFo5sJ9KO9XCQwvlDCqL2eeyx2ggc3iE35GRl5h_B_lqsZ5-_60Huo6_aQG3RpdgHH7ysZ6xTyX9vvkPeXjD9v5xNjzv0TMbGUypxJSEcx_BuipLbVxbYnqBvmzsLRxDwVUuoYbJYPqW6o31f63wL2n7MFMkGFM6T8bXa0qimLItGKMNiWLBHTCHBVxglcorbgQIxo8cJU9RontiCk7e6YcznLKt0qxSlQXBSm54AQ4MZduTQQfM-geQW8q2GbeO_VlxSdm2QGtR5WyPIAVDhQ65xL_AWMpKEFw5zBpiqVVe_3kGEk5IOBlesUwXJXesDoBZKJCyLRalxAwd23Mp3cHoKj_4SfoIBgSzJ3TZgQnY80q6hlxp-JFB6Zh7KqGGFDuicRWXTDjtdyFAggP2gcVWeQ7WMc9vUPj5zWZZptURjPWVrN6qBC48jkqAck2JY9vMccEK_pQCq5RtzhkEZTcBZfEunk3urutOkvhmuaHsvimqjAkooeZi_k5EcWGPmXGCsvzVKc-0gCPCqT7vuhxeHPrbikYpu2_KNyXh3FapfbIOChKNM62slkAvZ0gpmPf2xDVvspisxqvFrOH--PL-0-2lTJaWl1gPmLQHkDIKzyYt4XVQVSjOfS6OvMRX28mGu-cRk8oJKd-v-uaBUSYfwSiQUeiJLZi6kwus2xMqW2otXwM6x9K0vHLNxAoFZTLThZB5jZzjqv2E4gVYn6abyZfZdLOLF6s6Rc2T7U1fnmxvevFN6k0_-ib5U7y9WW92k7tFEtc0maDtBl818uEtuhmvrmeb3fRmebtIZrvbePLLi_eml4zzRTKrqby8-XmClzcX3ovlbbKYvFyNn_09GozP7ucwP-YuRXqpthodprTDDGoR6tXar1xlL_pczQBKtMQoEsNoyFsw6gyiQfcqCLvD1mGUDqOrUIQ8CqC3H1xFotdP0yzsd7P9kIuw28JRGIS9oBN2OoOwGwzb_X2w7_QG4T6LerzbH5BuAAVH2fYba2uTt9DaCkadMBpc9VuSpyBtLczD0H9kaysJQ6_TzajORlrllnQDidbZVxqHTtaKvr4epBfTb9pRf8ResluQkLlGrqOi20aJtyojRwfnSutFbDgn4TxHd6jSdqaL5yJ4roWl0Q-QORLO65B8wXmO-TgK_w4AAP__XV4VDA">