Hi all, I'm currently working on allowing hsdis to compile under different Unix environments for Windows with gcc as the compiler, since it's required for the binutils backend (For good measure I'll throw capstone support in as well since it's relatively easy to add and it's also a package under the different MSYS2 subsystems. LLVM is way more complex and I'll leave it out for the time being). This means that Cygwin will no longer be the only way to compile hsdis for Windows, especially for the binutils backend, which I view as a big plus in terms of ease of setup. However, I have a couple of questions:
1. Right now I see a hack in the Makefiles to replace the Visual C++ compiler entirely with gcc when compiling the binutils. It's slightly better now after a recent change, but it's still there. Should this be replaced with proper-but-partial gcc support for Windows in autoconf and make, and instead require configuring with gcc if hsdis compilation is requested? If the hard requirement of configuring with gcc is a no go, is at least adding partial gcc support in configure and make still ok to add so hsdis can be configured to compile with gcc directly? 2. Currently there's a SYSTEM_BINUTILS define which gates the definitions of PACKAGE and PACKAGE_VERSION. It seems that the bfd.h header requires these to be defined, but strangely these are not defined if a system binutils is used on Linux. Does the bfd.h header there not require these to be defined? It causes compilation failures here on Windows when --with-binutils=system is passed (I am aware that --with-binutils=system is currently only supported on Linux, but we should make it supported under MSYS2 and other Windows environments that support system binutils as well) best regards, Julian