diff --git a/README.md b/README.md
index b191927..99097f1 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
 npm install minidump
 ```
 
-## Building
+## Building (for development)
 
 * `git clone --recurse-submodules https://github.com/electron/node-minidump`
 * `npm install`
diff --git a/build.js b/build.js
index 37959f2..df06052 100644
--- a/build.js
+++ b/build.js
@@ -1,11 +1,19 @@
 const fs = require('fs')
 const path = require('path')
-const { spawnSync } = require('child_process')
+const childProcess = require('child_process')
+
+function spawnSync (...args) {
+  const result = childProcess.spawnSync(...args)
+  if (result.status !== 0) {
+    process.exit(result.status)
+  }
+}
 
 const buildDir = path.join(__dirname, 'build')
 if (!fs.existsSync(buildDir)) {
   fs.mkdirSync(buildDir, { recursive: true })
 }
+
 spawnSync(path.join(__dirname, 'deps', 'breakpad', 'configure'), [], {
   cwd: buildDir,
   env: {
@@ -18,6 +26,13 @@ const targets = ['src/processor/minidump_stackwalk', 'src/processor/minidump_dum
 if (process.platform === 'linux') {
   targets.push('src/tools/linux/dump_syms/dump_syms')
 }
+
 spawnSync('make', ['-C', buildDir, '-j', require('os').cpus().length, ...targets], {
   stdio: 'inherit'
 })
+
+if (process.platform === 'darwin') {
+  spawnSync('xcodebuild', ['-project', path.join(__dirname, 'deps', 'breakpad', 'src', 'tools', 'mac', 'dump_syms', 'dump_syms.xcodeproj'), 'build'], {
+    stdio: 'inherit'
+  })
+}
diff --git a/lib/minidump.js b/lib/minidump.js
index e949b46..9483b26 100644
--- a/lib/minidump.js
+++ b/lib/minidump.js
@@ -9,7 +9,7 @@ const commands = {
   minidump_dump: path.resolve(__dirname, '..', 'build', 'src', 'processor', 'minidump_dump') + exe,
   dump_syms: (() => {
     if (process.platform === 'darwin') {
-      return path.resolve(__dirname, '..', 'build', 'src', 'tools', 'mac', 'dump_syms', 'dump_syms_mac')
+      return path.resolve(__dirname, '..', 'deps', 'breakpad', 'src', 'tools', 'mac', 'dump_syms', 'build', 'Release', 'dump_syms')
     } else if (process.platform === 'linux') {
       return path.resolve(__dirname, '..', 'build', 'src', 'tools', 'linux', 'dump_syms', 'dump_syms')
     }
diff --git a/test/minidump-test.js b/test/minidump-test.js
index 61ca4d5..1e15fd2 100644
--- a/test/minidump-test.js
+++ b/test/minidump-test.js
@@ -74,8 +74,6 @@ describe('minidump', function () {
 
   describe('dumpSymbol()', function () {
     it('calls back with a minidump', function (done) {
-      if (process.platform !== 'linux') return this.skip()
-
       downloadElectron(function (error, binaryPath) {
         if (error) return done(error)
         minidump.dumpSymbol(binaryPath, function (error, minidump) {