Ticket #48 (assigned enhancement)
Improved support for mingw+msys
|Reported by:||guest||Owned by:||sam|
Attached patch includes the changes for adding support to mingw+msys. Unfortunately, the "make install" still fails with this message:
Making install in caca make: Entering directory `/home/pc/libcaca/caca' make: Entering directory `/home/pc/libcaca/caca' /bin/sh /home/pc/libcaca-0.99.beta16-new/.auto/install-sh -d /home/pc/inst_libcaca/lib . libcaca.la; \
for x in $library_names; do \
ln -sf $x /home/pc/inst_libcaca/lib/$(echo $x | sed 's/caca/cucul/g'); \
ln: creating symbolic link /home/pc/inst_libcaca/lib/libcucul.dll.a' to libcaca.dll.a': No such file or directory
Description of changes: caca/caca.h caca/caca0.h declaration of dllimport and dllexport is wrong. I fixed it and now the symbols are imported/exported without problems. I'm using GCC 3.4.5 and it complained about the "weak" attribute into macro CACA_ALIAS, so I adjusted it to be available only if you are using GCC 4 and newer.
tools/makefont.c the htonl() and htons() are available in Windows Sockets. So I added the test on HAVE_WINSOCK2_H. Hopefully, the configure script already checks for the presence of winsock2.h I added the macro NEED_WINSOCK2 because we must initialize winsocks, but only if we have no other choice. For example, cygwin supports both arpa/inet.h and netinet/in.h beside winsock2.h: in that case winsocks initialization is not needed at all and it would cause troubles if handled in a different manner (WSAStartup function won't be found at link stage without compiling with winsock2.h because its true name is WSAStartup@8).