Currently, only modern POSIX systems are supported. The library has been tested mainly on Linux, FreeBSD, and OSX.
It is likely to work with DragonFlyBSD as well. NetBSD and OpenBSD will probably need DILL_THREAD_FALLBACK to work as they don't have support for thread local storage. If you are using libdill on these platforms, please let us know.
There is currently no support for Windows. Cygwin is very broken. It doesn't support AF_UNIX properly, and so no further development will be done for this platform.
Libdill is planned to be ported to Mingw and Windows IOCP instead. Help is welcome.
libdill requires either GCC and Clang. Your mileage with other compilers may vary:
The non-standard language features libdill requires are as follows:
go macro.Compiler features and incompatibilities:
DILL_ARCH_FALLBACK option is incompatible with GCC 6.2.1 when -fstack-protector is enabled. Please compile libdill and your application with -fno-stack-protector if you need to use the fallback. Non-x86 platforms have not been tested with GCC 6.2.1. Please report your mileage.libdill build.Incompatibilities:
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 in a libdill build. Using fortification in your libdill application is possible.DILL_ARCH_FALLBACK option. To make it work, try using the -fno-stack-protector option.Compatible.