diff --git a/historic/jam/src/jam.h b/historic/jam/src/jam.h index 18bfa4709..b6c45c72a 100644 --- a/historic/jam/src/jam.h +++ b/historic/jam/src/jam.h @@ -231,10 +231,14 @@ # define OSMINOR "OS=CYGWIN" # define OS_CYGWIN # endif -# ifdef __FreeBSD__ +# if defined(__FreeBSD__) && !defined(__DragonFly__) # define OSMINOR "OS=FREEBSD" # define OS_FREEBSD # endif +# ifdef __DragonFly__ +# define OSMINOR "OS=DRAGONFLYBSD" +# define OS_DRAGONFLYBSD +# endif # ifdef __DGUX__ # define OSMINOR "OS=DGUX" # define OS_DGUX @@ -394,6 +398,7 @@ # if !defined(OS_BSDI) && \ !defined(OS_FREEBSD) && \ + !defined(OS_DRAGONFLYBSD) && \ !defined(OS_NEXT) && \ !defined(OS_MACHTEN) && \ !defined(OS_MACOSX) && \ @@ -426,6 +431,7 @@ defined( __i386__ ) || \ defined( _M_IX86 ) # if !defined( OS_FREEBSD ) && \ + !defined( OS_DRAGONFLYBSD ) && \ !defined( OS_OS2 ) && \ !defined( OS_AS400 ) # define OSPLAT "OSPLAT=X86" diff --git a/jam_src/jam.h b/jam_src/jam.h index 18bfa4709..b6c45c72a 100644 --- a/jam_src/jam.h +++ b/jam_src/jam.h @@ -231,10 +231,14 @@ # define OSMINOR "OS=CYGWIN" # define OS_CYGWIN # endif -# ifdef __FreeBSD__ +# if defined(__FreeBSD__) && !defined(__DragonFly__) # define OSMINOR "OS=FREEBSD" # define OS_FREEBSD # endif +# ifdef __DragonFly__ +# define OSMINOR "OS=DRAGONFLYBSD" +# define OS_DRAGONFLYBSD +# endif # ifdef __DGUX__ # define OSMINOR "OS=DGUX" # define OS_DGUX @@ -394,6 +398,7 @@ # if !defined(OS_BSDI) && \ !defined(OS_FREEBSD) && \ + !defined(OS_DRAGONFLYBSD) && \ !defined(OS_NEXT) && \ !defined(OS_MACHTEN) && \ !defined(OS_MACOSX) && \ @@ -426,6 +431,7 @@ defined( __i386__ ) || \ defined( _M_IX86 ) # if !defined( OS_FREEBSD ) && \ + !defined( OS_DRAGONFLYBSD ) && \ !defined( OS_OS2 ) && \ !defined( OS_AS400 ) # define OSPLAT "OSPLAT=X86" diff --git a/v1/gcc-tools.jam b/v1/gcc-tools.jam index a0784bc61..f32f32b6d 100644 --- a/v1/gcc-tools.jam +++ b/v1/gcc-tools.jam @@ -129,6 +129,13 @@ else if $(UNIX) flags gcc LINKFLAGS multi : -pthread ; # there is no -lrt on BSD } + case DragonFly : + { + flags gcc CFLAGS multi : -pthread ; + flags gcc LINKFLAGS multi : -pthread ; + # there is no -lrt on BSD - DragonFly is a FreeBSD variant, + # which anoyingly doesn't say it's a *BSD. + } case IRIX : { # gcc on IRIX does not support multi-threading, don't set anything here. diff --git a/v2/tools/gcc.jam b/v2/tools/gcc.jam index 6800862d2..48d9b9e8c 100644 --- a/v2/tools/gcc.jam +++ b/v2/tools/gcc.jam @@ -298,6 +298,12 @@ else if [ modules.peek : UNIX ] flags gcc OPTIONS multi : -pthread ; # there is no -lrt on BSD } + case DragonFly : + { + flags gcc OPTIONS multi : -pthread ; + # there is no -lrt on BSD - DragonFly is a FreeBSD variant, + # which anoyingly doesn't say it's a *BSD. + } case IRIX : { # gcc on IRIX does not support multi-threading, don't set anything here.