Index: u1db/cmake/Modules/FindJSON.cmake
===================================================================
--- u1db.orig/cmake/Modules/FindJSON.cmake	2014-11-16 15:08:03.000000000 -0500
+++ u1db/cmake/Modules/FindJSON.cmake	2014-11-16 15:19:00.000000000 -0500
@@ -6,27 +6,23 @@
 #  JSON_LIBRARIES - link these to use JSON
 
 find_package(PkgConfig)
-pkg_check_modules(PC_JSON json)
+pkg_check_modules(PC_JSON json-c)
 
-FIND_PATH(JSON_INCLUDE_DIR json.h
-  HINTS
-  ${PC_JSON_INCLUDE_DIRS}
-  /usr/include
-  /usr/local/include
-  /opt/local/include
-  PATH_SUFFIXES json
-)
+find_path(JSON_INCLUDE_DIR NAMES json-c/json.h json/json.h)
+find_library(JSON_LIBRARY NAMES json-c)
 
-FIND_LIBRARY(JSON_LIBRARY
-  NAMES ${JSON_NAMES} libjson.so libjson.dylib
-  HINTS ${PC_JSON_LIBRARY_DIRS}
-  /usr/lib /usr/local/lib /opt/local/lib
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(JSON DEFAULT_MSG
+ JSON_LIBRARY
+ JSON_INCLUDE_DIR
 )
 
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(JSON DEFAULT_MSG JSON_LIBRARY JSON_INCLUDE_DIR)
+if(JSON_FOUND)
+  set(JSON_LIBRARIES ${JSON_LIBRARY})
+  set(JSON_INCLUDE_DIRS ${JSON_INCLUDE_DIR}/json-c)
+endif()
 
-IF(JSON_FOUND)
-  SET(JSON_LIBRARIES ${JSON_LIBRARY})
-  SET(JSON_INCLUDE_DIRS ${JSON_INCLUDE_DIR})
-ENDIF(JSON_FOUND)
+mark_as_advanced(
+  JSON_LIBRARY
+  JSON_INCLUDE_DIR
+)
Index: u1db/src/u1db.c
===================================================================
--- u1db.orig/src/u1db.c	2014-11-16 15:08:03.000000000 -0500
+++ u1db/src/u1db.c	2014-11-16 15:19:00.000000000 -0500
@@ -23,7 +23,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <sqlite3.h>
-#include <json/json.h>
+#include <json-c/json.h>
 
 #include "u1db/u1db_internal.h"
 #include "u1db/u1db_vectorclock.h"
Index: u1db/src/u1db_http_sync_target.c
===================================================================
--- u1db.orig/src/u1db_http_sync_target.c	2014-11-16 15:19:00.000000000 -0500
+++ u1db/src/u1db_http_sync_target.c	2014-11-16 15:19:00.000000000 -0500
@@ -21,7 +21,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
-#include <json/json.h>
+#include <json-c/json.h>
 #include <curl/curl.h>
 #include <oauth.h>
 #include <sys/socket.h>
Index: u1db/src/u1db_query.c
===================================================================
--- u1db.orig/src/u1db_query.c	2014-11-16 15:19:00.000000000 -0500
+++ u1db/src/u1db_query.c	2014-11-16 15:19:00.000000000 -0500
@@ -22,7 +22,7 @@
 #include <stdarg.h>
 #include <string.h>
 #include <ctype.h>
-#include <json/json.h>
+#include <json-c/json.h>
 
 #define NO_GLOB 0
 #define IS_GLOB 1
Index: u1db/src/u1db_sync_target.c
===================================================================
--- u1db.orig/src/u1db_sync_target.c	2014-11-16 15:08:03.000000000 -0500
+++ u1db/src/u1db_sync_target.c	2014-11-16 15:19:00.000000000 -0500
@@ -18,7 +18,7 @@
 
 #include "u1db/u1db_internal.h"
 #include <string.h>
-#include <json/linkhash.h>
+#include <json-c/linkhash.h>
 
 
 static int st_get_sync_info(u1db_sync_target *st,
Index: u1db/setup.py
===================================================================
--- u1db.orig/setup.py	2014-11-16 15:08:03.000000000 -0500
+++ u1db/setup.py	2014-11-16 15:19:00.000000000 -0500
@@ -81,7 +81,7 @@
                 extra_defines = [('_CRT_SECURE_NO_WARNINGS', 1)]
             else:
                 extra_libs.append('curl')
-            extra_libs.append('json')
+            extra_libs.append('json-c')
             ext.append(Extension(
                 "u1db.tests.c_backend_wrapper",
                 ["u1db/tests/c_backend_wrapper.pyx"],
