diff -r cb9a3985df00 Lib/distutils/util.py --- a/Lib/distutils/util.py Thu May 08 17:43:25 2014 -0500 +++ b/Lib/distutils/util.py Fri May 09 11:06:03 2014 +0200 @@ -102,6 +102,8 @@ osname, release, machine = _osx_support.get_platform_osx( distutils.sysconfig.get_config_vars(), osname, release, machine) + elif osname[:9] == "dragonfly": + release = str.split(release, "-")[0] return "%s-%s-%s" % (osname, release, machine) diff -r cb9a3985df00 Modules/nismodule.c --- a/Modules/nismodule.c Thu May 08 17:43:25 2014 -0500 +++ b/Modules/nismodule.c Fri May 09 11:06:03 2014 +0200 @@ -89,7 +89,7 @@ return map; } -#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) +#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) typedef int (*foreachfunc)(unsigned long, char *, int, char *, int, void *); #else typedef int (*foreachfunc)(int, char *, int, char *, int, char *); diff -r cb9a3985df00 setup.py --- a/setup.py Thu May 08 17:43:25 2014 -0500 +++ b/setup.py Fri May 09 11:06:03 2014 +0200 @@ -1507,6 +1529,14 @@ macros = dict() libraries = [] + elif host_platform.startswith('dragonfly'): + macros = dict( + HAVE_SEM_OPEN=0, + HAVE_SEM_TIMEDWAIT=0, + HAVE_FD_TRANSFER=1, + ) + libraries = [] + else: # Linux and other unices macros = dict() libraries = ['rt']