Two changes are critical, I don't know if you want to make them:
Otherwise in Visual Studio (2013) both heap.c and heap.cc build to the same .o file and overwrite each other.
Other than that:
Fix linker errors and add declspec dll exports to several functions
Added igraph_decls header and additional DECLDIR declarations
Thanks for your work on this, it looks great!
I would prefer renaming src/cliquer/graph.c to src/cliquer/cliquer_graph.c and src/bliss/heap.cc to src/bliss/bliss_heap.cc instead - feels more readable than graph2.c and heap2.c.
Also, the AppVeyor build has failed for one of the build configurations because MSVC does not seem to include stdint.h:
To be honest, I don't quite understand why it fails - more precisely, I don't understand how the other three build configurations on AppVeyor could succeed if stdint.h is missing. It can even happen that prpack_solver.cpp does not need stdint.h at all. Can you try recompiling this without stdint.h on your machine?
renamed files and removed stdint.h include in prpack_solver
Yes, very strange that only one failed. prpack_solver.cpp builds fine in VS2013 without stdint.h so I removed it. I also made the requested filename changes.
reusing stdint include from bignum.h in prpack_csc.h
Added igraph_decls.h to public headers in Makefile.am and tweaked inc…
…lude of stdint in prpack_csc.h
Okay, I think that did it. I had to avoid including stdint.h also for MINGW builds. But reusing pstdint.h was not the way to go...
Thanks, now I think this one is ready for merging.