diff --git a/core/c/jcpuid/mbuild.sh b/core/c/jcpuid/mbuild.sh
index 28b8a3df62486a4535d994f1db024c63cbebb96f..0dfbdaca3b0011424153c5044e5a0165a541a3df 100755
--- a/core/c/jcpuid/mbuild.sh
+++ b/core/c/jcpuid/mbuild.sh
@@ -9,6 +9,8 @@ Linux*)
 	echo "Building linux .so's";;
 FreeBSD*)
 	echo "Building freebsd .so's";;
+Darwin*)
+	echo "Building OSX jnilibs";;
 *)
 	echo "Unsupported build environment"
 	exit;;
@@ -29,6 +31,12 @@ MINGW*)
 	INCLUDES="-I. -Iinclude -I$JAVA_HOME/include/ -I$JAVA_HOME/include/win32/"
 	LINKFLAGS="-shared -static -static-libgcc -Wl,--kill-at"
 	LIBFILE="lib/freenet/support/CPUInformation/jcpuid-x86-windows.dll";;
+Darwin*)
+        JAVA_HOME=$(/usr/libexec/java_home)
+        COMPILEFLAGS="-fPIC -Wall -arch x86_64 -arch i386"
+        INCLUDES="-I. -Iinclude -I$JAVA_HOME/include/"
+        LINKFLAGS="-dynamiclib -framework JavaVM"
+        LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-darwin.jnilib";;
 FreeBSD*)
 	case `uname -m` in
 		amd64)