Index: /trunk/init_lib.c =================================================================== --- /trunk/init_lib.c (revision 24) +++ /trunk/init_lib.c (revision 27) @@ -48,4 +48,8 @@ #include +#ifdef __FreeBSD__ +#include +#endif + void vmem_heap_init(void) @@ -85,6 +89,8 @@ GetSystemInfo(&info); pagesize = info.dwPageSize; +#elseif !defined(__FreeBSD__) + pagesize = _sysconf(_SC_PAGESIZE); #else - pagesize = _sysconf(_SC_PAGESIZE); + pagesize = PAGE_SIZE; #endif } Index: /trunk/umem.c =================================================================== --- /trunk/umem.c (revision 26) +++ /trunk/umem.c (revision 27) @@ -519,5 +519,5 @@ extern thread_t _thr_self(void); -#if defined(__MACH__) +#if defined(__MACH__) || defined(__FreeBSD__) # define CPUHINT() ((int)(_thr_self())) #endif Index: /trunk/sol_compat.h =================================================================== --- /trunk/sol_compat.h (revision 25) +++ /trunk/sol_compat.h (revision 27) @@ -166,5 +166,5 @@ #ifdef _WIN32 #define issetugid() 0 -#else +#elseif !defined(__FreeBSD__) #define issetugid() (geteuid() == 0) #endif Index: /trunk/malloc.c =================================================================== --- /trunk/malloc.c (revision 24) +++ /trunk/malloc.c (revision 27) @@ -34,5 +34,7 @@ #include +#ifdef HAVE_SYS_SYSMACROS_H #include +#endif #include "umem_base.h"