In order to build this with mingw/msys for perfparser, use the following configure line: LDFLAGS=-static-libgcc configure --enable-maintainer-mode --enable-install-elfh --enable-install-featuresh --enable-gnulib \ --without-bzlib --without-lzma --disable-symbol-versioning That is: - static-libgcc so that we don't depend on a shared libgcc - maintainer-mode as we are building from git - install-elfh and install-featuresh to ship the headers needed to build perfparser - gnulib to replace missing libc functions - without-bzlib to avoid extra dependencies - without-lzma also to avoid dependencies - disable-symbol-versioning because we cannot support symbol versioning on windows Check the resulting files with depends.exe. If they depend on any 3rd party dlls, track those down and check if the libraries are also available as static versions. If so, move the .dll.a files away to prevent dynamic linking and build again. This is currently about libz and libdl but might happen with other libraries if elfutils gets more dependencies (hopefully not). In order to run the tests, you have to add the libasm, libelf, libdw and backends directories to PATH, as windows doesn't have RPATH. In order to create the .lib files needed to link the elfutils libraries into MSVC-built binaries, the "lib.exe" command has to be available from PATH.