diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 54a54db338e69..fbf11905d52f3 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -635,6 +635,14 @@ function(llvm_add_library name) set(ARG_STATIC) endif() + if(EMSCRIPTEN) + # Emscripten's support for dynamic linking is limited + # so force all libraries to be statically linked. + set(ARG_MODULE FALSE) + set(ARG_SHARED FALSE) + set(ARG_STATIC TRUE) + endif() + if(ARG_MODULE) add_library(${name} MODULE ${ALL_FILES}) elseif(ARG_SHARED)