diff --git a/configure b/configure
index 0d24b209c15c5c1f7df4020afc2245cdd601a6fd..0a53633d6bd16f86d4f8e5687d73a6d6ae007924 100755
--- a/configure
+++ b/configure
@@ -1218,6 +1218,13 @@ case $targetos in
         SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
         SHFLAGS='-shared -Wl,--enable-auto-image-base'
         ;;
+    *-dos|freedos|opendos)
+        enable memalign_hack
+        disable ffplay ffserver vhook
+        disable $INDEV_LIST $OUTDEV_LIST
+        network_extralibs="-lsocket"
+        EXESUF=".exe"
+        ;;
     linux)
         LDLATEFLAGS="-Wl,--as-needed $LDLATEFLAGS"
         enable dv1394
diff --git a/libavformat/os_support.h b/libavformat/os_support.h
index 77cba1fe4b2e50783b876b6b944f333bb3569b4b..16c198eb4f2b505b85c90f3f7741357af2d88e3e 100644
--- a/libavformat/os_support.h
+++ b/libavformat/os_support.h
@@ -27,7 +27,7 @@
  * miscellaneous OS support macros and functions.
  */
 
-#if defined(__BEOS__) || defined(__INNOTEK_LIBC__)
+#if defined(__BEOS__) || defined(__INNOTEK_LIBC__) || defined(__DJGPP__)
 typedef int socklen_t;
 #endif
 
diff --git a/libavutil/internal.h b/libavutil/internal.h
index 16f13c4d5018214c86d001477224d83ff496a822..b9717e7bc9c43729ab8a41c2f386c8ca9121158b 100644
--- a/libavutil/internal.h
+++ b/libavutil/internal.h
@@ -118,7 +118,7 @@
 #endif
 
 // Use rip-relative addressing if compiling PIC code on x86-64.
-#if defined(__MINGW32__) || defined(__CYGWIN__) || \
+#if defined(__MINGW32__) || defined(__CYGWIN__) || defined(__DJGPP__) || \
     defined(__OS2__) || (defined (__OpenBSD__) && !defined(__ELF__))
 #    if defined(ARCH_X86_64) && defined(PIC)
 #        define MANGLE(a) "_" #a"(%%rip)"