diff --git a/bootstrap.sh b/bootstrap.sh
index 106f202a2a..baf9474f48 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -13,6 +13,10 @@ check_for_app() {
 # On Linux, environment variables tell which one to use.
 
 case `uname -sr` in
+	DragonFly*)
+		MY_AC_VER=
+		MY_AM_VER=
+		;;
 	FreeBSD*)
 		MY_AC_VER=
 		MY_AM_VER=
diff --git a/bridges/bridge_softmix/include/bridge_softmix_internal.h b/bridges/bridge_softmix/include/bridge_softmix_internal.h
index 3aa90915de..15856b3786 100644
--- a/bridges/bridge_softmix/include/bridge_softmix_internal.h
+++ b/bridges/bridge_softmix/include/bridge_softmix_internal.h
@@ -57,7 +57,7 @@
 #include <fftw3.h>
 #endif
 
-#if defined(__Darwin__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__CYGWIN__)
+#if defined(__Darwin__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__CYGWIN__)
 #include <float.h>
 #else
 #include <values.h>
diff --git a/channels/chan_oss.c b/channels/chan_oss.c
index 69863d2710..7866813011 100644
--- a/channels/chan_oss.c
+++ b/channels/chan_oss.c
@@ -51,7 +51,7 @@
 
 #ifdef __linux
 #include <linux/soundcard.h>
-#elif defined(__FreeBSD__) || defined(__CYGWIN__) || defined(__GLIBC__) || defined(__sun)
+#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__CYGWIN__) || defined(__GLIBC__) || defined(__sun)
 #include <sys/soundcard.h>
 #else
 #include <soundcard.h>
diff --git a/configure b/configure
index c26995d118..c1a06e848d 100755
--- a/configure
+++ b/configure
@@ -4653,7 +4653,7 @@ case "${host_os}" in
      CPPFLAGS=-I/usr/pkg/include
      LDFLAGS=-L/usr/pkg/lib
      ;;
-     freebsd*)
+     dragonfly*|freebsd*)
      ac_default_prefix=/usr/local
      CPPFLAGS=-I/usr/local/include
      LDFLAGS=-L/usr/local/lib
@@ -4742,7 +4742,7 @@ HOST_OS=${host_os}
 PBX_WINARCH=0
 
 case "${host_os}" in
-     freebsd*)
+     dragonfly*|freebsd*)
      OSARCH=FreeBSD
      ;;
      netbsd*)
diff --git a/configure.ac b/configure.ac
index 63991e556c..e94febe1df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -67,7 +67,7 @@ case "${host_os}" in
      CPPFLAGS=-I/usr/pkg/include
      LDFLAGS=-L/usr/pkg/lib
      ;;
-     freebsd*)
+     dragonfly*|freebsd*)
      ac_default_prefix=/usr/local
      CPPFLAGS=-I/usr/local/include
      LDFLAGS=-L/usr/local/lib
@@ -152,7 +152,7 @@ AC_SUBST(HOST_OS)
 PBX_WINARCH=0
 
 case "${host_os}" in
-     freebsd*)
+     dragonfly*|freebsd*)
      OSARCH=FreeBSD
      ;;
      netbsd*)
diff --git a/include/asterisk/endian.h b/include/asterisk/endian.h
index fd3eb60f0a..63dd4deeae 100644
--- a/include/asterisk/endian.h
+++ b/include/asterisk/endian.h
@@ -31,7 +31,7 @@
 #ifndef __BYTE_ORDER
 #ifdef __linux__
 #include <endian.h>
-#elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__)
+#elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__APPLE__)
 #if defined(__OpenBSD__)
 #include "asterisk/compat.h"
 #endif
diff --git a/main/asterisk.c b/main/asterisk.c
index 665b4be840..7ff167ef73 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -170,7 +170,7 @@
 #include <sys/param.h>
 #include <sys/sysctl.h>
 #include <sys/vmmeter.h>
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__DragonFly__)
 #include <vm/vm_param.h>
 #endif
 #if defined(HAVE_SWAPCTL)
diff --git a/main/utils.c b/main/utils.c
index c2e07fccf5..6ecd2b82e5 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -2423,7 +2423,7 @@ char *ast_eid_to_str(char *s, int maxlen, struct ast_eid *eid)
 	return os;
 }
 
-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__Darwin__)
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__Darwin__)
 #include <ifaddrs.h>
 #include <net/if_dl.h>
 
diff --git a/res/res_http_post.c b/res/res_http_post.c
index bf404ced6a..7b0005dc7e 100644
--- a/res/res_http_post.c
+++ b/res/res_http_post.c
@@ -36,7 +36,7 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <gmime/gmime.h>
-#if defined (__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__Darwin__)
+#if defined (__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__Darwin__)
 #include <libgen.h>
 #endif
 
diff --git a/utils/muted.c b/utils/muted.c
index ee1de7f547..2cdd7e2291 100644
--- a/utils/muted.c
+++ b/utils/muted.c
@@ -55,7 +55,7 @@
 #include <sys/types.h>
 #include <pwd.h>
 #include <sys/stat.h>
-#elif defined(__linux__) || defined(__FreeBSD__) || defined(__GLIBC__)
+#elif defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__GLIBC__)
 #include <sys/soundcard.h>
 #endif
 #include <stdio.h>
diff --git a/utils/streamplayer.c b/utils/streamplayer.c
index 809bd64b83..543efda181 100644
--- a/utils/streamplayer.c
+++ b/utils/streamplayer.c
@@ -53,7 +53,7 @@
 #include <unistd.h>
 #include <sys/types.h>
 #include <sys/socket.h>
-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__Darwin__) || defined(__CYGWIN__)
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__Darwin__) || defined(__CYGWIN__) || defined(__DragonFly__)
 #include <netinet/in.h>
 #endif
 #include <sys/time.h>