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.