Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


On Thu, Feb 10, 2011 at 08:27:53AM +0100, Fridrich Strba wrote:
Taking mutex on this one will work on its integration today.

On Wed, 2011-02-09 at 23:47 +0100, Francois Tigeot wrote: 
There's still work to do but the progress so far has been good.  I'd like
to take advantage of this to publish some of my patches.

Thanks for committing the patches, Fridrich.

Here's a second batch. With these ones, and by disabling some cppunit
tests, I am now able to complete a LibreOffice build on DragonFly.

-- 
Francois Tigeot
diff --git a/set_soenv.in b/set_soenv.in
index 450f9fa..b915f89 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -825,6 +825,7 @@ elsif ( $platform =~ m/dragonfly/ )
       $CPUNAME        = "X86_64";
       $OUTPATH        = "unxdflyx";
       $JRELIBDIR      = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64";
+      $JRETOOLKITDIR  = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64".$ds."server";
       $JRETHREADDIR   = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64".$ds."native_threads";
    }
    else
@@ -1420,7 +1421,7 @@ $SOLARINC             = $I.$cur_dir.
                         $I.'$SOLARENV'.$INC.
                         $I.'$SRC_ROOT'.$ds."res";
 
-if ($platform =~ m/solaris|linux|osf1|freebsd|netbsd|aix|openbsd/)
+if ($platform =~ m/solaris|linux|osf1|freebsd|netbsd|aix|openbsd|dragonfly/)
 {
 if ($platform =~ m/solaris/ && ! $CC =~ "gcc")
 {
diff --git a/automation/source/testtool/objtest.cxx b/automation/source/testtool/objtest.cxx
index a6fde25..5c10f77 100644
--- a/automation/source/testtool/objtest.cxx
+++ b/automation/source/testtool/objtest.cxx
@@ -459,6 +459,10 @@ void TestToolObj::LoadIniFile()                            // Laden der 
IniEinstellungen, die durch den
     abGP.Append( "25" );  // OpenBSD/i386
 #elif defined OPENBSD && defined X86_64
     abGP.Append( "26" );  // OpenBSD/amd64
+#elif defined DRAGONFLY && defined X86
+    abGP.Append( "27" );  // DragonFly/i386
+#elif defined DRAGONFLY && defined X86_64
+    abGP.Append( "28" );  // DragonFly/x86-64
 #else
 #error ("unknown platform. please request an ID for your platform on qa/dev")
 #endif
diff --git a/crashrep/source/unx/makefile.mk b/crashrep/source/unx/makefile.mk
index 8383f68..d0d04ff 100755
--- a/crashrep/source/unx/makefile.mk
+++ b/crashrep/source/unx/makefile.mk
@@ -56,7 +56,8 @@ APP1TARGET=$(TARGET)
 APP1OBJS=$(OBJFILES)
 APP1RPATH=BRAND
 
-.IF "$(OS)" != "FREEBSD" && "$(OS)" != "MACOSX" && "$(OS)"!="NETBSD"
+.IF "$(OS)" != "FREEBSD" && "$(OS)" != "MACOSX" && "$(OS)"!="NETBSD" && \
+    "$(OS)" != "DRAGONFLY"
 APP1STDLIBS+=-ldl -lnsl
 .ENDIF
 .IF "$(OS)" == "SOLARIS"
diff --git a/extensions/source/plugin/unx/makefile.mk b/extensions/source/plugin/unx/makefile.mk
index 0e9b5d4..f642a0d 100644
--- a/extensions/source/plugin/unx/makefile.mk
+++ b/extensions/source/plugin/unx/makefile.mk
@@ -77,7 +77,7 @@ APP1STDLIBS+=-lXm -lXt $(X11LINK_DYNAMIC) -ldl
 .IF "$(DISABLE_XAW)" != "TRUE"
 APP1STDLIBS+=-lXaw 
 .ENDIF
-.IF "$(OS)"=="FREEBSD" || "$(OS)"=="NETBSD" || "$(OS)"=="OPENBSD"
+.IF "$(OS)"=="FREEBSD" || "$(OS)"=="NETBSD" || "$(OS)"=="OPENBSD" || "$(OS)"=="DRAGONFLY"
 APP1STDLIBS+= -lXt -lXext -lX11
 .ELIF "$(OS)"=="AIX"
 APP1STDLIBS+= -lXpm -lXmu -lXt $(X11LINK_DYNAMIC) -ldl
diff --git a/extensions/source/scanner/makefile.mk b/extensions/source/scanner/makefile.mk
index baaefdf..86c2134 100644
--- a/extensions/source/scanner/makefile.mk
+++ b/extensions/source/scanner/makefile.mk
@@ -77,7 +77,7 @@ SHL1STDLIBS=\
     $(SVTOOLLIB)
 
 .IF "$(GUI)"=="UNX" && "$(OS)"!="FREEBSD" && \
-       "$(OS)"!="NETBSD" && "$(OS)"!="OPENBSD"
+       "$(OS)"!="NETBSD" && "$(OS)"!="OPENBSD" && "$(OS)"!="DRAGONFLY"
 SHL1STDLIBS+=$(SVTOOLLIB) -ldl
 .ENDIF
 
diff --git a/binfilter/bf_sc/source/core/data/sc_cell.cxx 
b/binfilter/bf_sc/source/core/data/sc_cell.cxx
index 68736b2..de3a9ae 100644
--- a/binfilter/bf_sc/source/core/data/sc_cell.cxx
+++ b/binfilter/bf_sc/source/core/data/sc_cell.cxx
@@ -40,7 +40,8 @@
 #include <mac_end.h>
 #endif
 
-#if defined (SOLARIS) || defined (FREEBSD) || defined (NETBSD) || defined (OPENBSD)
+#if defined(SOLARIS) || defined(FREEBSD) || defined(NETBSD) || \
+    defined(OPENBSD) || defined(DRAGONFLY)
 #include <ieeefp.h>
 #elif ( defined ( LINUX ) && ( GLIBC < 2 ) )
 #include <i386/ieeefp.h>
diff --git a/tools/bootstrp/command.cxx b/tools/bootstrp/command.cxx
index 08321c4..2d705dd 100644
--- a/tools/bootstrp/command.cxx
+++ b/tools/bootstrp/command.cxx
@@ -73,7 +73,8 @@
 #include <sys/types.h>
 #include <unistd.h>
 #if ( defined NETBSD ) || defined (FREEBSD) || defined (AIX) \
-    || defined (HPUX) || defined (MACOSX) || defined (OPENBSD)
+    || defined (HPUX) || defined (MACOSX) || defined (OPENBSD) \
+    || defined(DRAGONFLY)
 #include <sys/wait.h>
 #else
 #include <wait.h>
diff --git a/tools/inc/tools/inetdef.hxx b/tools/inc/tools/inetdef.hxx
index ac2f8bc..89345f4 100644
--- a/tools/inc/tools/inetdef.hxx
+++ b/tools/inc/tools/inetdef.hxx
@@ -63,6 +63,10 @@
 #define TOOLS_INETDEF_OS "OpenBSD/i386"
 #elif defined OPENBSD && defined X86_64
 #define TOOLS_INETDEF_OS "OpenBSD/amd64"
+#elif defined DRAGONFLY && defined X86
+#define TOOLS_INETDEF_OS "DragonFly/i386"
+#elif defined DRAGONFLY && defined X86_64
+#define TOOLS_INETDEF_OS "DragonFly/amd64"
 #elif defined SINIX
 #define TOOLS_INETDEF_OS "SINIX"
 #else // AIX, HPUX, SOLARIS, ...
diff --git a/tools/inc/tools/prex.h b/tools/inc/tools/prex.h
index 3cc8f32..2a5dfd6 100644
--- a/tools/inc/tools/prex.h
+++ b/tools/inc/tools/prex.h
@@ -48,7 +48,9 @@
 extern "C" {
 #endif
 
-#if defined(LINUX) || defined(FREEBSD) || defined(MACOSX) || defined(NETBSD) || defined(OPENBSD) 
// should really check for xfree86 or for X11R6.1 and higher
+// FIXME: should really check for xfree86 or for X11R6.1 and higher
+#if defined(LINUX) || defined(FREEBSD) || defined(MACOSX) || defined(NETBSD) || \
+    defined(OPENBSD) || defined(DRAGONFLY)
 #define __XKeyboardExtension__ 1
 #else
 #define __XKeyboardExtension__ 0
diff --git a/tools/inc/tools/solar.h b/tools/inc/tools/solar.h
index 4d8d087..389dbc6 100644
--- a/tools/inc/tools/solar.h
+++ b/tools/inc/tools/solar.h
@@ -339,6 +339,8 @@ template<typename T> inline T Abs(T a) { return (a>=0?a:-a); }
   #define __DLLEXTENSION "mxi.dylib"
 #elif defined OPENBSD
   #define __DLLEXTENSION "ob.so"
+#elif defined DRAGONFLY
+  #define __DLLEXTENSION "df.so"
 #else
   #error unknown plattform
 #endif
diff --git a/tools/source/fsys/unx.cxx b/tools/source/fsys/unx.cxx
index 7d93c4d..7d540c4 100644
--- a/tools/source/fsys/unx.cxx
+++ b/tools/source/fsys/unx.cxx
@@ -45,8 +45,8 @@
 extern "C" int mntctl( int cmd, size_t size, char* buf );
 #elif defined(NETBSD) 
 #include <sys/mount.h>
-#elif defined(FREEBSD) || defined(MACOSX) || defined(OPENBSD)
-#elif defined DECUNIX
+#elif defined(FREEBSD) || defined(MACOSX) || defined(OPENBSD) || \
+      defined(DECUNIX) || defined(DRAGONFLY)
 struct mnttab
 {
   char *mnt_dir;
@@ -96,7 +96,7 @@ struct mymnttab
 
 
 #if defined(NETBSD) || defined(FREEBSD) || defined(MACOSX) || \
-       defined(OPENBSD)
+       defined(OPENBSD) || defined(DRAGONFLY)
 BOOL GetMountEntry(dev_t /* dev */, struct mymnttab * /* mytab */ )
 {
     DBG_WARNING( "Sorry, not implemented: GetMountEntry" );
@@ -222,7 +222,7 @@ BOOL DirEntry::IsCaseSensitive( FSysPathStyle eFormatter ) const
 
     if (eFormatter==FSYS_STYLE_HOST)
     {
-#ifdef NETBSD
+#if defined(NETBSD) || defined(DRAGONFLY)
         return TRUE;
 #else
         struct stat buf;
diff --git a/tools/source/stream/strmunx.cxx b/tools/source/stream/strmunx.cxx
index 84c23e2..bf2cf97 100644
--- a/tools/source/stream/strmunx.cxx
+++ b/tools/source/stream/strmunx.cxx
@@ -210,8 +210,9 @@ static sal_uInt32 GetSvError( int nErrno )
         { 0,            SVSTREAM_OK },
         { EACCES,       SVSTREAM_ACCESS_DENIED },
         { EBADF,        SVSTREAM_INVALID_HANDLE },
-#if defined( RS6000 ) || defined( ALPHA ) || defined( HP9000 ) || defined( NETBSD ) || 
defined(FREEBSD) || defined(MACOSX) || \
-       defined(OPENBSD) || defined(__FreeBSD_kernel__) || defined ( AIX )
+#if defined(RS6000) || defined(ALPHA) || defined(HP9000) || defined(NETBSD) || \
+    defined(FREEBSD) || defined(MACOSX) || defined(OPENBSD) || \
+    defined(__FreeBSD_kernel__) || defined (AIX) || defined(DRAGONFLY)
         { EDEADLK,      SVSTREAM_LOCKING_VIOLATION },
 #else
         { EDEADLOCK,    SVSTREAM_LOCKING_VIOLATION },
@@ -225,8 +226,9 @@ static sal_uInt32 GetSvError( int nErrno )
         { EAGAIN,       SVSTREAM_LOCKING_VIOLATION },
         { EISDIR,       SVSTREAM_PATH_NOT_FOUND },
         { ELOOP,        SVSTREAM_PATH_NOT_FOUND },
-#if ! defined( RS6000 ) && ! defined( ALPHA ) && ! defined( NETBSD ) && ! defined (FREEBSD) && ! 
defined (MACOSX) && \
-       !defined(OPENBSD) && ! defined(__FreeBSD_kernel__)
+#if !defined(RS6000) && !defined(ALPHA) && !defined(NETBSD) && !defined (FREEBSD) && \
+    !defined(MACOSX) && !defined(OPENBSD) && !defined(__FreeBSD_kernel__) && \
+    !defined(DRAGONFLY)
         { EMULTIHOP,    SVSTREAM_PATH_NOT_FOUND },
         { ENOLINK,      SVSTREAM_PATH_NOT_FOUND },
 #endif
diff --git a/vcl/unx/inc/saldata.hxx b/vcl/unx/inc/saldata.hxx
index 4164a0f..f0e2103 100644
--- a/vcl/unx/inc/saldata.hxx
+++ b/vcl/unx/inc/saldata.hxx
@@ -48,7 +48,7 @@ class SalPrinter;
 DECLARE_LIST( SalDisplays, SalDisplay* )
 
 #if defined SCO || defined LINUX || defined NETBSD || defined AIX || \
-       defined HPUX || defined FREEBSD || defined OPENBSD
+       defined HPUX || defined FREEBSD || defined OPENBSD || defined DRAGONFLY
 #include <pthread.h>
 #else
 typedef        unsigned int pthread_t;
diff --git a/vcl/unx/inc/salunx.h b/vcl/unx/inc/salunx.h
index 5946492..4fcea4d 100644
--- a/vcl/unx/inc/salunx.h
+++ b/vcl/unx/inc/salunx.h
@@ -31,7 +31,7 @@
 
 // -=-= #includes =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 #if defined SCO || defined LINUX || defined HPUX || defined FREEBSD || \
-       defined NETBSD || defined OPENBSD
+       defined NETBSD || defined OPENBSD || defined DRAGONFLY
 #include <sys/time.h>
 #elif defined AIX
 #include <time.h>
diff --git a/vcl/unx/source/app/i18n_ic.cxx b/vcl/unx/source/app/i18n_ic.cxx
index 22f7b1e..df7e545 100644
--- a/vcl/unx/source/app/i18n_ic.cxx
+++ b/vcl/unx/source/app/i18n_ic.cxx
@@ -334,7 +334,7 @@ SalI18N_InputContext::SalI18N_InputContext ( SalFrame *pFrame ) :
 
         if ( mnPreeditStyle != XIMPreeditNone )
         {
-#if defined LINUX || defined FREEBSD || defined NETBSD || defined OPENBSD
+#if defined LINUX || defined FREEBSD || defined NETBSD || defined OPENBSD || defined DRAGONFLY
             if ( mpPreeditAttributes != NULL )
 #endif
                 mpAttributes = XVaAddToNestedList( mpAttributes,
@@ -342,7 +342,7 @@ SalI18N_InputContext::SalI18N_InputContext ( SalFrame *pFrame ) :
         }
         if ( mnStatusStyle != XIMStatusNone )
         {
-#if defined LINUX || defined FREEBSD || defined NETBSD || defined OPENBSD
+#if defined LINUX || defined FREEBSD || defined NETBSD || defined OPENBSD || defined DRAGONFLY
             if ( mpStatusAttributes != NULL )
 #endif
                 mpAttributes = XVaAddToNestedList( mpAttributes,
diff --git a/vcl/unx/source/app/saldisp.cxx b/vcl/unx/source/app/saldisp.cxx
index 1dbcfaf..5da9d10 100644
--- a/vcl/unx/source/app/saldisp.cxx
+++ b/vcl/unx/source/app/saldisp.cxx
@@ -893,7 +893,8 @@ void SalDisplay::Init()
         sscanf( pProperties, "%li", &nProperties_ );
     else
     {
-#if defined DBG_UTIL || defined SUN || defined LINUX || defined FREEBSD || defined NETBSD || 
defined OPENBSD
+#if defined DBG_UTIL || defined SUN || defined LINUX || defined FREEBSD || \
+    defined NETBSD || defined OPENBSD || defined DRAGONFLY
         nProperties_ |= PROPERTY_FEATURE_Maximize;
 #endif
         // Server Bugs & Properties
@@ -919,7 +920,8 @@ void SalDisplay::Init()
         if( GetServerVendor() == vendor_xfree )
         {
             nProperties_ |= PROPERTY_BUG_XCopyArea_GXxor;
-#if defined LINUX || defined FREEBSD || defined NETBSD || defined OPENBSD
+#if defined LINUX || defined FREEBSD || defined NETBSD || defined OPENBSD || \
+    defined DRAGONFLY
             // otherwm and olwm are a kind of default, which are not detected
             // carefully. if we are running linux (i.e. not netbsd) on an xfree
             // display, fvwm is most probable the wm to choose, confusing with mwm
diff --git a/vcl/util/makefile.mk b/vcl/util/makefile.mk
index 20be25d..5fdda65 100755
--- a/vcl/util/makefile.mk
+++ b/vcl/util/makefile.mk
@@ -328,7 +328,7 @@ SHL2STDLIBS+=`pkg-config --libs xrender`
 
 SHL2STDLIBS += -lXext -lSM -lICE -lX11
 .IF "$(OS)"!="MACOSX" && "$(OS)"!="FREEBSD" && "$(OS)"!="NETBSD" && \
-       && "$(OS)"!="OPENBSD"
+       && "$(OS)"!="OPENBSD" "$(OS)"!="DRAGONFLY"
 # needed by salprnpsp.cxx
 SHL2STDLIBS+= -ldl
 .ENDIF
diff --git a/autodoc/source/mkinc/fullcpp.mk b/autodoc/source/mkinc/fullcpp.mk
index 75b2516..c7519d8 100644
--- a/autodoc/source/mkinc/fullcpp.mk
+++ b/autodoc/source/mkinc/fullcpp.mk
@@ -35,7 +35,8 @@
 .IF "$(GUI)"=="WNT"
 CFLAGS+= -GR
 .ENDIF
-.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" || "$(OS)"=="NETBSD" || $(COM) == "GCC"
+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" || "$(OS)"=="NETBSD" || \
+    "$(OS)"=="DRAGONFLY" || $(COM) == "GCC"
 CFLAGSCXX+= -frtti
 .ENDIF
 
diff --git a/odk/source/unoapploader/unx/makefile.mk b/odk/source/unoapploader/unx/makefile.mk
index 7a93bce..4ba98b1 100644
--- a/odk/source/unoapploader/unx/makefile.mk
+++ b/odk/source/unoapploader/unx/makefile.mk
@@ -43,7 +43,7 @@ LIBSALCPPRT=
 LINK=$(CC)
 .ENDIF
 
-.IF "$(OS)"!="FREEBSD" && "$(OS)"!="NETBSD"
+.IF "$(OS)"!="FREEBSD" && "$(OS)"!="NETBSD" && "$(OS)"!="DRAGONFLY"
 STDLIB= -ldl
 .ENDIF
 
diff --git a/odk/util/makefile.pmk b/odk/util/makefile.pmk
index 782f1e6..db4a85f 100644
--- a/odk/util/makefile.pmk
+++ b/odk/util/makefile.pmk
@@ -66,7 +66,8 @@ LIBOUT=$(SOLARLIBDIR)
 
 MY_AUTODOC=$(AUGMENT_LIBRARY_PATH) $(WRAPCMD) $(SOLARBINDIR)/autodoc
 
-.IF "$(OS)"=="FREEBSD" || "$(OS)"=="NETBSD" || "$(OS)"=="MACOSX" || "$(OS)"=="AIX"
+.IF "$(OS)"=="FREEBSD" || "$(OS)"=="NETBSD" || "$(OS)"=="MACOSX" || \
+    "$(OS)"=="AIX" || "$(OS)"=="DRAGONFLY"
 MY_COPY=$(GNUCOPY)
 MY_COPY_RECURSIVE=$(GNUCOPY) -r
 .ELSE
@@ -133,6 +134,9 @@ DESTPLATFROM=netbsd
 # FREEBSD
 DESTPLATFROM=freebsd
 
+.ELIF "$(OS)"=="DRAGONFLY"
+DESTPLATFROM=dragonfly
+
 .ELIF "$(OS)"=="MACOSX"
 # MACOSX
 DESTPLATFROM=macosx
diff --git a/bridges/inc/bridges/cpp_uno/shared/vtablefactory.hxx 
b/bridges/inc/bridges/cpp_uno/shared/vtablefactory.hxx
index 59924a2..659ac28 100644
--- a/bridges/inc/bridges/cpp_uno/shared/vtablefactory.hxx
+++ b/bridges/inc/bridges/cpp_uno/shared/vtablefactory.hxx
@@ -39,7 +39,7 @@
 
 /*See: http://people.redhat.com/drepper/selinux-mem.html*/
 #if defined(LINUX) || defined(OPENBSD) || defined(FREEBSD) \
-       || defined(NETBSD)
+       || defined(NETBSD) || defined(DRAGONFLY)
 #define USE_DOUBLE_MMAP
 #endif
 
diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx 
b/bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
index 24818e6..0850d5c 100644
--- a/bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
@@ -359,7 +359,8 @@ extern "C" typedef void (*PrivateSnippetExecutor)();
 
 int const codeSnippetSize = 16;
 
-#if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(MACOSX)
+#if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(MACOSX) || \
+    defined(DRAGONFLY)
 namespace
 {
     PrivateSnippetExecutor returnsInRegister(typelib_TypeDescriptionReference * pReturnTypeRef)
@@ -407,7 +408,8 @@ unsigned char * codeSnippet(
         break;
     case typelib_TypeClass_STRUCT:
     case typelib_TypeClass_EXCEPTION:
-#if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(MACOSX)
+#if defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(MACOSX) || \
+    defined(DRAGONFLY)
         exec = returnsInRegister(pReturnTypeRef);
         if (!exec)
         {
diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/makefile.mk 
b/bridges/source/cpp_uno/gcc3_linux_intel/makefile.mk
index 6e2b752..167acf6 100644
--- a/bridges/source/cpp_uno/gcc3_linux_intel/makefile.mk
+++ b/bridges/source/cpp_uno/gcc3_linux_intel/makefile.mk
@@ -41,7 +41,8 @@ ENABLE_EXCEPTIONS=TRUE
 .IF "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCLINUXIgcc3" || \
        "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCOPENBSDIgcc3" || \
        "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCFREEBSDIgcc3" || \
-       "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCNETBSDIgcc3"
+       "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCNETBSDIgcc3" || \
+       "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCDRAGONFLYIgcc3"
 
 .IF "$(cppu_no_leak)" == ""
 CFLAGS += -DLEAK_STATIC_DATA
diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx 
b/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx
index c4c6b47..dca8e69 100644
--- a/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx
@@ -29,7 +29,7 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_bridges.hxx"
 
-#if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD)
+#if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(DRAGONFLY)
 #include <stdlib.h>
 #else
 #include <malloc.h>
@@ -153,7 +153,8 @@ void callVirtualMethod(
             break;
         default:
         {
-#if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(MACOSX)
+#if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(MACOSX) || \
+    defined(DRAGONFLY)
             sal_Int32 const nRetSize = pReturnTypeDescr->nSize;
             if (bSimpleReturn && nRetSize <= 8 && nRetSize > 0)
             {
@@ -355,7 +356,8 @@ namespace x86
     {
         if (bridges::cpp_uno::shared::isSimpleType( pTD ))
             return true;
-#if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(MACOSX)
+#if defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) || \
+    defined(MACOSX) || defined(DRAGONFLY)
         // Only structs of exactly 1, 2, 4, or 8 bytes are returned through
         // registers, see <http://developer.apple.com/documentation/DeveloperTools/
         // Conceptual/LowLevelABI/Articles/IA32.html>:
diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/makefile.mk 
b/bridges/source/cpp_uno/gcc3_linux_x86-64/makefile.mk
index 156ca4f..e434e8e 100644
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/makefile.mk
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/makefile.mk
@@ -41,7 +41,8 @@ ENABLE_EXCEPTIONS=TRUE
 .IF "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCLINUXXgcc3" || \
        "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCOPENBSDXgcc3" || \
        "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCFREEBSDXgcc3" || \
-       "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCNETBSDXgcc3"
+       "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCNETBSDXgcc3"  || \
+       "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCDRAGONFLYXgcc3"  || \
 
 .IF "$(cppu_no_leak)" == ""
 CFLAGS += -DLEAK_STATIC_DATA
diff --git a/bridges/source/cpp_uno/shared/vtablefactory.cxx 
b/bridges/source/cpp_uno/shared/vtablefactory.cxx
index 0e3e08a..294b525 100644
--- a/bridges/source/cpp_uno/shared/vtablefactory.cxx
+++ b/bridges/source/cpp_uno/shared/vtablefactory.cxx
@@ -83,7 +83,7 @@ namespace {
 extern "C" void * SAL_CALL allocExec(rtl_arena_type *, sal_Size * size) {
     sal_Size pagesize;
 #if defined SAL_UNX
-#if defined FREEBSD || defined NETBSD || defined OPENBSD
+#if defined FREEBSD || defined NETBSD || defined OPENBSD || defined DRAGONFLY
     pagesize = getpagesize();
 #else
     pagesize = sysconf(_SC_PAGESIZE);
diff --git a/cppu/source/uno/data.cxx b/cppu/source/uno/data.cxx
index 0d693ed..b23e12a 100644
--- a/cppu/source/uno/data.cxx
+++ b/cppu/source/uno/data.cxx
@@ -361,7 +361,7 @@ sal_Bool SAL_CALL uno_type_isAssignableFromData(
 
 #if defined(INTEL) \
     && (defined(__GNUC__) && (defined(LINUX) || defined(FREEBSD) || defined(OS2) \
-        || defined(NETBSD) || defined(OPENBSD)) || defined(MACOSX) \
+        || defined(NETBSD) || defined(OPENBSD)) || defined(MACOSX) || defined(DRAGONFLY) \
         || defined(__SUNPRO_CC) && defined(SOLARIS))
 #define MAX_ALIGNMENT_4
 #endif
diff --git a/cppu/util/makefile.mk b/cppu/util/makefile.mk
index 47a3c9a..8d1003b 100644
--- a/cppu/util/makefile.mk
+++ b/cppu/util/makefile.mk
@@ -60,7 +60,7 @@ SHL1STDLIBS = $(SALLIB)
 
 SHL1DEPN=
 SHL1IMPLIB=i$(TARGET)
-.IF "$(OS)"!="FREEBSD" && "$(OS)"!="NETBSD" && "$(OS)"!="OPENBSD"
+.IF "$(OS)"!="FREEBSD" && "$(OS)"!="NETBSD" && "$(OS)"!="OPENBSD" && "$(OS)"!="DRAGONFLY"
 SHL1DEF=$(MISC)$/$(SHL1TARGET).def
 .ENDIF
 
diff --git a/idlc/source/idlccompile.cxx b/idlc/source/idlccompile.cxx
index b336c62..124e13c 100644
--- a/idlc/source/idlccompile.cxx
+++ b/idlc/source/idlccompile.cxx
@@ -44,7 +44,7 @@
 #include <errno.h>
 #include <unistd.h>
 #if defined(MACOSX) || defined(FREEBSD) || defined(NETBSD) || \
-       defined(AIX) || defined(OPENBSD)
+       defined(AIX) || defined(OPENBSD) || defined(DRAGONFLY)
 #include <sys/wait.h>
 #else
 #include <wait.h>
diff --git a/pyuno/source/module/makefile.mk b/pyuno/source/module/makefile.mk
index 06f9b42..5afc85b 100644
--- a/pyuno/source/module/makefile.mk
+++ b/pyuno/source/module/makefile.mk
@@ -146,6 +146,8 @@ $(PYUNO_MODULE) : $(SLO)$/pyuno_dlopenwrapper.obj
     @echo $(LINK) $(LINKFLAGSSHLCUI) -o $@ $(SLO)$/pyuno_dlopenwrapper.o > $(MISC)$/$(@:b).cmd
 .ELIF "$(OS)" == "OPENBSD"
     @echo ld -shared -o $@ $(SLO)$/pyuno_dlopenwrapper.o > $(MISC)$/$(@:b).cmd
+.ELIF "$(OS)" == "DRAGONFLY"
+    @echo ld -shared -o $@ $(SLO)$/pyuno_dlopenwrapper.o > $(MISC)$/$(@:b).cmd
 .ELIF "$(OS)" == "MACOSX"
     @echo $(CC) -bundle -ldl -o $@ $(SLO)$/pyuno_dlopenwrapper.o $(EXTRA_LINKFLAGS) 
$(EXTRA_FRAMEWORK_FLAG) > $(MISC)$/$(@:b).cmd
 .ELSE
diff --git a/sal/inc/osl/endian.h b/sal/inc/osl/endian.h
index ffbf08e..b99ae34 100644
--- a/sal/inc/osl/endian.h
+++ b/sal/inc/osl/endian.h
@@ -159,7 +159,8 @@ extern "C" {
 #if !defined(_WIN32)  && !defined(_WIN16) && !defined(OS2)     && \
     !defined(LINUX)   && !defined(NETBSD) && !defined(SCO)     && \
     !defined(AIX)     && !defined(HPUX)   && !defined(OPENBSD) && \
-    !defined(SOLARIS) && !defined(MACOSX) && !defined(FREEBSD)
+    !defined(SOLARIS) && !defined(MACOSX) && !defined(FREEBSD) && \
+    !defined(DRAGONFLY)
 #      error "Target platform not specified !"
 #endif
 
diff --git a/sal/inc/rtl/uuid.h b/sal/inc/rtl/uuid.h
index 0428970..7b52924 100644
--- a/sal/inc/rtl/uuid.h
+++ b/sal/inc/rtl/uuid.h
@@ -203,6 +203,8 @@ void SAL_CALL rtl_createNamedUuid(
 #define UUID_SYSTEM_TIME_RESOLUTION_100NS_TICKS 10
 #elif OPENBSD
 #define UUID_SYSTEM_TIME_RESOLUTION_100NS_TICKS 10
+#elif DRAGONFLY
+#define UUID_SYSTEM_TIME_RESOLUTION_100NS_TICKS 10
 #else
 #error "System time resolution must be calculated!"
 #endif
diff --git a/sal/inc/sal/alloca.h b/sal/inc/sal/alloca.h
index 83bc5df..2328280 100644
--- a/sal/inc/sal/alloca.h
+++ b/sal/inc/sal/alloca.h
@@ -36,7 +36,7 @@
 #define INCLUDED_ALLOCA_H
 #endif
 
-#elif defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD)
+#elif defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(DRAGONFLY)
 
 #ifndef INCLUDED_STDLIB_H
 #include <stdlib.h>
diff --git a/sal/inc/sal/config.h b/sal/inc/sal/config.h
index 73b66bc..a1c5361 100644
--- a/sal/inc/sal/config.h
+++ b/sal/inc/sal/config.h
@@ -93,7 +93,7 @@
 #endif
 
 #if defined(SOLARIS) || defined(LINUX) || defined(NETBSD) || defined(FREEBSD) || \
-    defined(SCO) || defined(AIX) || defined(OPENBSD)
+    defined(SCO) || defined(AIX) || defined(OPENBSD) || defined(DRAGONFLY)
 #define SAL_UNX
 #define SAL_DLLEXTENSION ".so"
 #define SAL_DLLPREFIX "lib"
diff --git a/sal/inc/sal/types.h b/sal/inc/sal/types.h
index 0e197f3..353bf0f 100644
--- a/sal/inc/sal/types.h
+++ b/sal/inc/sal/types.h
@@ -351,7 +351,7 @@ typedef struct _sal_Sequence
 #ifdef __cplusplus
 #if defined SAL_W32 || defined SOLARIS || defined LINUX || defined MACOSX || \
     defined FREEBSD || defined NETBSD || defined AIX || defined OS2 || \
-    defined OPENBSD
+    defined OPENBSD || defined DRAGONFLY
 #define SAL_CONST_CAST(type, expr) (const_cast< type >(expr))
 #define SAL_REINTERPRET_CAST(type, expr) (reinterpret_cast< type >(expr))
 #define SAL_STATIC_CAST(type, expr) (static_cast< type >(expr))
diff --git a/sal/osl/unx/backtrace.c b/sal/osl/unx/backtrace.c
index 47cca32..ed29a92 100644
--- a/sal/osl/unx/backtrace.c
+++ b/sal/osl/unx/backtrace.c
@@ -140,7 +140,7 @@ void backtrace_symbols_fd( void **buffer, int size, int fd )
 #endif /* defined SOLARIS */
 
 
-#if defined FREEBSD || defined NETBSD || defined OPENBSD
+#if defined FREEBSD || defined NETBSD || defined OPENBSD || defined(DRAGONFLY)
 #include <dlfcn.h>
 #include <pthread.h>
 #include <setjmp.h>
diff --git a/sal/osl/unx/backtrace.h b/sal/osl/unx/backtrace.h
index b089889..57125f9 100644
--- a/sal/osl/unx/backtrace.h
+++ b/sal/osl/unx/backtrace.h
@@ -28,7 +28,7 @@
 
 
 #if defined (SOLARIS) || defined (FREEBSD) || defined (NETBSD) || \
-       defined (OPENBSD)
+       defined (OPENBSD) || defined (DRAGONFLY)
 
 #ifdef __cplusplus
 extern "C" {
@@ -41,7 +41,8 @@ int backtrace( void **buffer, int max_frames );
 void backtrace_symbols_fd( void **buffer, int size, int fd );
 
 /* no frame.h on FreeBSD */
-#if defined (FREEBSD) || defined (NETBSD) || defined (OPENBSD)
+#if defined (FREEBSD) || defined (NETBSD) || defined (OPENBSD) || \
+    defined (DRAGONFLY)
 struct frame {
     long       arg0[8];
     long       arg1[6];
diff --git a/sal/osl/unx/file.cxx b/sal/osl/unx/file.cxx
index 94ef670..cb80eb8 100644
--- a/sal/osl/unx/file.cxx
+++ b/sal/osl/unx/file.cxx
@@ -273,7 +273,7 @@ void FileHandle_Impl::operator delete (void * p, size_t)
 size_t FileHandle_Impl::getpagesize()
 {
 #if defined(FREEBSD) || defined(NETBSD) || defined(MACOSX) || \
-       defined(OPENBSD)
+       defined(OPENBSD) || defined(DRAGONFLY)
     return sal::static_int_cast< size_t >(::getpagesize());
 #else /* POSIX */
     return sal::static_int_cast< size_t >(::sysconf(_SC_PAGESIZE));
diff --git a/sal/osl/unx/file_volume.cxx b/sal/osl/unx/file_volume.cxx
index 124f267..952450e 100644
--- a/sal/osl/unx/file_volume.cxx
+++ b/sal/osl/unx/file_volume.cxx
@@ -70,7 +70,7 @@ static const sal_Char* MOUNTTAB="/etc/mnttab";
 #include <sys/quota.h>
 static const sal_Char* MOUNTTAB="/etc/mtab";
 
-#elif defined(NETBSD) || defined(FREEBSD) || defined(OPENBSD)
+#elif defined(NETBSD) || defined(FREEBSD) || defined(OPENBSD) || defined(DRAGONFLY)
 
 #include <sys/param.h>
 #include <sys/ucred.h>
@@ -180,7 +180,7 @@ oslFileError osl_getVolumeInformation( rtl_uString* ustrDirectoryURL, oslVolumeI
 
 #ifdef HAVE_STATFS_H
 
-#if defined(FREEBSD) || defined(MACOSX) || defined(OPENBSD)
+#if defined(FREEBSD) || defined(MACOSX) || defined(OPENBSD) || defined(DRAGONFLY)
 #   define __OSL_STATFS_STRUCT                         struct statfs
 #   define __OSL_STATFS(dir, sfs)                      statfs((dir), (sfs))
 #   define __OSL_STATFS_BLKSIZ(a)                      ((sal_uInt64)((a).f_bsize))
@@ -1123,7 +1123,7 @@ osl_isFloppyMounted (oslVolumeDeviceHandleImpl* pDevice)
  *****************************************************************************/
 
 #if (defined(MACOSX) || defined(NETBSD) || defined(FREEBSD) || \
-       defined(AIX) || defined(OPENBSD))
+       defined(AIX) || defined(OPENBSD) || defined(DRAGONFLY))
 static oslVolumeDeviceHandle osl_isFloppyDrive(const sal_Char* pszPath)
 {
     (void)pszPath;
@@ -1132,7 +1132,7 @@ static oslVolumeDeviceHandle osl_isFloppyDrive(const sal_Char* pszPath)
 #endif /* MACOSX */
 
 #if ( defined(MACOSX) || defined(NETBSD) || defined(FREEBSD) || \
-       defined(AIX) || defined(OPENBSD))
+       defined(AIX) || defined(OPENBSD) || defined(DRAGONFLY))
 static oslFileError osl_mountFloppy(oslVolumeDeviceHandle hFloppy)
 {
     (void)hFloppy;
@@ -1141,7 +1141,7 @@ static oslFileError osl_mountFloppy(oslVolumeDeviceHandle hFloppy)
 #endif /* MACOSX */
 
 #if ( defined(MACOSX) || defined(NETBSD) || defined(FREEBSD) || \
-       defined(AIX) || defined(OPENBSD))
+       defined(AIX) || defined(OPENBSD) || defined(DRAGONFLY))
 static oslFileError osl_unmountFloppy(oslVolumeDeviceHandle hFloppy)
 {
     (void)hFloppy;
@@ -1149,14 +1149,14 @@ static oslFileError osl_unmountFloppy(oslVolumeDeviceHandle hFloppy)
 }
 #endif /* MACOSX */
 
-#if ( defined(NETBSD) || defined(FREEBSD) || defined(OPENBSD) )
+#if ( defined(NETBSD) || defined(FREEBSD) || defined(OPENBSD) || defined(DRAGONFLY) )
 static sal_Bool osl_getFloppyMountEntry(const sal_Char* pszPath, oslVolumeDeviceHandleImpl* pItem)
 {
     return sal_False;
 }
 #endif /* NETBSD || FREEBSD || OPENBSD */
 
-#if ( defined(NETBSD) || defined(FREEBSD) || defined(OPENBSD) )
+#if ( defined(NETBSD) || defined(FREEBSD) || defined(OPENBSD) || defined(DRAGONFLY) )
 static sal_Bool osl_isFloppyMounted(oslVolumeDeviceHandleImpl* pDevice)
 {
     return sal_False;
diff --git a/sal/osl/unx/makefile.mk b/sal/osl/unx/makefile.mk
index 117609a..7913f67 100644
--- a/sal/osl/unx/makefile.mk
+++ b/sal/osl/unx/makefile.mk
@@ -115,8 +115,8 @@ SLOFILES += $(SLO)$/osxlocale.obj
 .ENDIF
 
 .IF "$(OS)"=="SOLARIS" || "$(OS)"=="FREEBSD" || "$(OS)"=="NETBSD" || \
-       "$(OS)$(CPU)"=="LINUXS" || "$(OS)"=="MACOSX" || \
-       "$(OS)"=="AIX" || "$(OS)"=="OPENBSD"
+       "$(OS)$(CPU)"=="LINUXS" || "$(OS)"=="MACOSX" || "$(OS)"=="AIX" || \
+       "$(OS)"=="OPENBSD" || "$(OS)"=="DRAGONFLY"
 SLOFILES += $(SLO)$/backtrace.obj
 OBJFILES += $(OBJ)$/backtrace.obj
 .ENDIF
diff --git a/sal/osl/unx/nlsupport.c b/sal/osl/unx/nlsupport.c
index f7ae5a2..86e0c62 100644
--- a/sal/osl/unx/nlsupport.c
+++ b/sal/osl/unx/nlsupport.c
@@ -32,7 +32,8 @@
 #include <rtl/memory.h>
 
 #if defined(LINUX) || defined(SOLARIS) || defined(NETBSD) || \
-       defined(FREEBSD) || defined(MACOSX) || defined(OPENBSD)
+       defined(FREEBSD) || defined(MACOSX) || defined(OPENBSD) || \
+    defined(DRAGONFLY)
 #include <pthread.h>
 #ifndef MACOSX
  #include <locale.h>
@@ -234,7 +235,7 @@ static rtl_Locale * _parse_locale( const char * locale )
 }
         
 #if defined(LINUX) || defined(SOLARIS) || defined(NETBSD) || \
-       defined(FREEBSD) || defined(OPENBSD)
+       defined(FREEBSD) || defined(OPENBSD) || defined(DRAGONFLY)
 
 /*
  * This implementation of osl_getTextEncodingFromLocale maps
@@ -486,7 +487,7 @@ const _pair _nl_language_list[] = {
     { "WIN-SAMI-2",                 RTL_TEXTENCODING_DONTKNOW }     /* WS2 */
 };
 
-#elif defined(FREEBSD)
+#elif defined(FREEBSD) || defined(DRAGONFLY)
 
 const _pair _nl_language_list[] = {
     { "ASCII",         RTL_TEXTENCODING_ASCII_US       }, /* US-ASCII */
@@ -952,7 +953,7 @@ int _imp_setProcessLocale( rtl_Locale * pLocale )
         /* only change env vars that exist already */
         if( getenv( "LC_ALL" ) ) {
 #if defined( FREEBSD ) || defined( NETBSD ) || defined( MACOSX ) || \
-       defined( AIX ) || defined( OPENBSD )
+       defined( AIX ) || defined( OPENBSD ) || defined( DRAGONFLY )
             setenv( "LC_ALL", locale_buf, 1);
 #else
             setenv( "LC_ALL", locale_buf );
@@ -961,7 +962,7 @@ int _imp_setProcessLocale( rtl_Locale * pLocale )
 
         if( getenv( "LC_CTYPE" ) ) {
 #if defined( FREEBSD ) || defined( NETBSD ) || defined( MACOSX ) || \
-       defined( AIX ) || defined( OPENBSD )
+       defined( AIX ) || defined( OPENBSD ) || defined( DRAGONFLY )
             setenv("LC_CTYPE", locale_buf, 1 );
 #else
             setenv( "LC_CTYPE", locale_buf );
@@ -970,7 +971,7 @@ int _imp_setProcessLocale( rtl_Locale * pLocale )
 
         if( getenv( "LANG" ) ) {
 #if defined( FREEBSD ) || defined( NETBSD ) || defined( MACOSX ) || \
-       defined( AIX ) || defined( OPENBSD)
+       defined( AIX ) || defined( OPENBSD) || defined( DRAGONFLY )
             setenv("LC_CTYPE", locale_buf, 1 );
 #else
             setenv( "LANG", locale_buf );
diff --git a/sal/osl/unx/process.c b/sal/osl/unx/process.c
index 0c85bf0..e736a25 100644
--- a/sal/osl/unx/process.c
+++ b/sal/osl/unx/process.c
@@ -476,7 +476,7 @@ static void ChildStatusProc(void *pData)
 
             if (! INIT_GROUPS(data.m_name, data.m_gid) || (setuid(data.m_uid) != 0))
                 OSL_TRACE("Failed to change uid and guid, errno=%d (%s)\n", errno, 
strerror(errno));
-#if defined(LINUX) || defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD)
+#if defined(LINUX) || defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || 
defined(DRAGONFLY)
             unsetenv("HOME");
 #else
             putenv("HOME=");
diff --git a/sal/osl/unx/socket.c b/sal/osl/unx/socket.c
index eede0a1..8aae036 100644
--- a/sal/osl/unx/socket.c
+++ b/sal/osl/unx/socket.c
@@ -47,7 +47,7 @@
 #endif
 
 #if defined(LINUX) || defined(NETBSD) || defined ( FREEBSD ) || \
-       defined (MACOSX) || defined (OPENBSD)
+       defined (MACOSX) || defined (OPENBSD) || defined(DRAGONFLY)
 #include <sys/poll.h>
 #define HAVE_POLL_H
 #endif /* HAVE_POLL_H */
@@ -785,7 +785,7 @@ static struct hostent* _osl_gethostbyname_r (
     const char *name, struct hostent *result,
     char *buffer, int buflen, int *h_errnop)
 {
-#if defined(LINUX) || (defined(FREEBSD) && (__FreeBSD_version >= 601103))
+#if defined(LINUX) || (defined(FREEBSD) && (__FreeBSD_version >= 601103)) || defined(DRAGONFLY)
     struct hostent *__result; /* will be the same as result */
     int __error;
     __error = gethostbyname_r (name, result, buffer, buflen,
diff --git a/sal/osl/unx/system.h b/sal/osl/unx/system.h
index 4b6b766..047a643 100644
--- a/sal/osl/unx/system.h
+++ b/sal/osl/unx/system.h
@@ -226,6 +226,24 @@
 #       define  PTHREAD_SIGACTION                       pthread_sigaction
 #endif
 
+#ifdef DRAGONFLY
+#   define  ETIME ETIMEDOUT
+#   include <pthread.h>
+#   include <sys/sem.h>
+#   include <semaphore.h>
+#   include <dlfcn.h>
+#   include <sys/filio.h>
+#   include <sys/ioctl.h>
+#   include <sys/param.h>
+#   include <sys/time.h>
+#   include <sys/uio.h>
+#   include <sys/exec.h>
+#   include <sys/un.h>
+#   include <netinet/tcp.h>
+#   include <machine/endian.h>
+#   define  IORESOURCE_TRANSFER_BSD
+#endif
+
 #ifdef SCO
 #   define AF_IPX -1
 #      include <strings.h>
@@ -376,7 +394,7 @@ int macxp_resolveAlias(char *path, int buflen);
     !defined(LINUX)   && !defined(NETBSD) && !defined(FREEBSD) && !defined(SCO)  && \
     !defined(AIX)     && !defined(HPUX)   && \
     !defined(SOLARIS) && !defined(MACOSX) && \
-    !defined(OPENBSD)
+    !defined(OPENBSD) && !defined(DRAGONFLY)
 #      error "Target platform not specified!"
 #endif
 
diff --git a/sal/osl/unx/time.c b/sal/osl/unx/time.c
index db03442..6bd09ce 100644
--- a/sal/osl/unx/time.c
+++ b/sal/osl/unx/time.c
@@ -34,7 +34,7 @@
 
 /* FIXME: detection should be done in configure script */
 #if defined(MACOSX) || defined(FREEBSD) || defined(NETBSD) || \
-       defined(LINUX) || defined(OPENBSD)
+       defined(LINUX) || defined(OPENBSD) || defined(DRAGONFLY)
 #define STRUCT_TM_HAS_GMTOFF 1
 
 #elif defined(SOLARIS)
diff --git a/sal/qa/osl/file/osl_File_Const.h b/sal/qa/osl/file/osl_File_Const.h
index 41cc033..2384bf6 100644
--- a/sal/qa/osl/file/osl_File_Const.h
+++ b/sal/qa/osl/file/osl_File_Const.h
@@ -89,7 +89,7 @@ const sal_Char pBuffer_Blank[]  = "";
 #      include <errno.h>
 #      include <fcntl.h>
 #      include <sys/stat.h>
-#   if !defined MACOSX
+#   if !defined MACOSX && !defined DRAGONFLY
 #          include <sys/statfs.h>
 #   else
 #       include <sys/param.h>
diff --git a/sal/rtl/source/alloc_arena.c b/sal/rtl/source/alloc_arena.c
index ce4faa2..6b0a27f 100644
--- a/sal/rtl/source/alloc_arena.c
+++ b/sal/rtl/source/alloc_arena.c
@@ -1254,7 +1254,7 @@ static sal_Size
 rtl_machdep_pagesize (void)
 {
 #if defined(SAL_UNX)
-#if defined(FREEBSD) || defined(NETBSD)
+#if defined(FREEBSD) || defined(NETBSD) || defined(DRAGONFLY)
     return ((sal_Size)getpagesize());
 #else  /* POSIX */
     return ((sal_Size)sysconf(_SC_PAGESIZE));
diff --git a/sal/rtl/source/macro.hxx b/sal/rtl/source/macro.hxx
index 7028840..495d586 100644
--- a/sal/rtl/source/macro.hxx
+++ b/sal/rtl/source/macro.hxx
@@ -55,6 +55,8 @@
 #define THIS_OS "AIX"
 #elif defined OPENBSD
 #define THIS_OS "OpenBSD"
+#elif defined DRAGONFLY
+#define THIS_OS "DragonFly"
 #endif
 
 #if ! defined THIS_OS

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.