diff --git a/CMakeLists.txt b/CMakeLists.txt index 9d6cd5796..1f5d7e825 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,6 +50,10 @@ option(ZIG_FORCE_EXTERNAL_LLD "If your system has the LLD patches use it instead find_package(llvm) find_package(clang) +if(MINGW) + find_package(z3) +endif() + if(APPLE AND ZIG_STATIC) list(REMOVE_ITEM LLVM_LIBRARIES "-lz") list(REMOVE_ITEM LLVM_LIBRARIES "-lcurses") @@ -6716,9 +6720,15 @@ target_link_libraries(zig LINK_PUBLIC ${LLVM_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ) + if(NOT MSVC) target_link_libraries(zig LINK_PUBLIC ${LIBXML2}) endif() + +if(MINGW) + target_link_libraries(zig LINK_PUBLIC ${Z3_LIBRARIES}) +endif() + if(ZIG_DIA_GUIDS_LIB) target_link_libraries(zig LINK_PUBLIC ${ZIG_DIA_GUIDS_LIB}) endif() diff --git a/src/target.cpp b/src/target.cpp index 86db4290a..440f0babe 100644 --- a/src/target.cpp +++ b/src/target.cpp @@ -1093,22 +1093,8 @@ const char *target_dynamic_linker(const ZigTarget *target) { case OsWatchOS: case OsMacOSX: case OsUefi: - return nullptr; - case OsWindows: - switch (target->abi) { - case ZigLLVM_GNU: - case ZigLLVM_GNUABIN32: - case ZigLLVM_GNUABI64: - case ZigLLVM_GNUEABI: - case ZigLLVM_GNUEABIHF: - case ZigLLVM_GNUX32: - case ZigLLVM_Cygnus: - zig_panic("TODO implement target_dynamic_linker for mingw/cygwin"); - default: - return nullptr; - } - zig_unreachable(); + return nullptr; case OsAnanas: case OsCloudABI: