diff --git a/Makefile.m4 b/Makefile.m4 index a6a100b..3371b47 100644 --- a/Makefile.m4 +++ b/Makefile.m4 @@ -14,6 +14,7 @@ ifelse(substr(OS,0,7),[MINGW32],[define([OS],[MINGW32])]) ifelse(OS,NetBSD,[define([OS],[BSD])CXXFLAGS+=-D__unix]) ifelse(OS,OpenBSD,[define([OS],[BSD])]) ifelse(OS,FreeBSD,[define([OS],[BSD])LDLIBS=-lcam]) +ifelse(OS,GNU/kFreeBSD,[define([OS],[Linux])LDLIBS=-lcam]) ifelse(OS,IRIX64,[define([OS],[IRIX])]) ifelse(OS,Darwin,[ @@ -188,7 +189,7 @@ CC =gcc CFLAGS +=$(WARN) -O2 -D_REENTRANT CXX =g++ CXXFLAGS+=$(WARN) -O2 -fno-exceptions -D_REENTRANT -LDLIBS =-lpthread +LDLIBS +=-lpthread LINK.o =$(LINK.cc) prefix?=/usr/local diff --git a/growisofs.c b/growisofs.c index 6c47192..959ac31 100644 --- a/growisofs.c +++ b/growisofs.c @@ -403,7 +403,7 @@ #define _LARGEFILE64_SOURCE #define _FILE_OFFSET_BITS 64 -#if defined(__linux) +#if defined(__linux) || defined(__GLIBC__) /* ... and "engage" glibc large file support */ # ifndef _GNU_SOURCE # define _GNU_SOURCE @@ -459,7 +459,7 @@ # define FATAL_START(e) (0x80|(e)) # define FATAL_MASK 0x7F -#ifdef __FreeBSD__ +#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) # include # ifndef SYS_mlockall # define SYS_mlockall 324 @@ -995,7 +995,7 @@ char *setup_fds (char *device) goto open_rw; } -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined (__FreeBSD_kernel__) #include #include @@ -2937,7 +2937,7 @@ int main (int argc, char *argv[]) if (setrlimit(RLIMIT_MEMLOCK,&rlim)) break; } # endif -# ifdef __FreeBSD__ +# if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) syscall(SYS_mlockall,3); # else mlockall(MCL_CURRENT|MCL_FUTURE); diff --git a/transport.hxx b/transport.hxx index 35a57a7..7b652c5 100644 --- a/transport.hxx +++ b/transport.hxx @@ -483,7 +483,7 @@ public: { return 1; } }; -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) #include #include