diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # Revision history for clang-compilation-database
 
+## 0.1.0.1
+
+* Bump `base` upper bound for GHC 8.4.1
+* Add smoketest
+
 ## 0.1.0.0  -- 2017-10-16
 
 * First version. Released on an unsuspecting world.
diff --git a/clang-compilation-database.cabal b/clang-compilation-database.cabal
--- a/clang-compilation-database.cabal
+++ b/clang-compilation-database.cabal
@@ -2,7 +2,7 @@
 -- further documentation, see http://haskell.org/cabal/users-guide/
 
 name:                clang-compilation-database
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            JSON Compilation Database Format encoding and decoding
 description:         See README.md
                      .
@@ -20,18 +20,31 @@
 category:            Language
 build-type:          Simple
 extra-source-files:  ChangeLog.md README.md
+                     test/smoke-test.json
+                     test/autotool_project-compile_commands.json
 cabal-version:       >=1.10
-tested-with:         GHC == 7.10.*, GHC == 8.0.*, GHC == 8.2.*
+tested-with:         GHC == 7.10.*, GHC == 8.0.*, GHC == 8.2.*, GHC == 8.4.1
 
 library
   exposed-modules:     Clang.CompilationDatabase
   -- other-modules:       
   -- other-extensions:    
-  build-depends:       base >=4.8 && <4.11,
+  build-depends:       base >=4.8 && <4.12,
                        bytestring >=0.10.6,
                        aeson >=1.2.0.0,
                        text >=1.2.0.2
   hs-source-dirs:      src
+  default-language:    Haskell2010
+  ghc-options:         -Wall
+
+test-suite smoke-test
+  type:                exitcode-stdio-1.0
+  main-is:             smoke-test.hs
+  build-depends:       base,
+                       aeson,
+                       bytestring,
+                       clang-compilation-database
+  hs-source-dirs:      test
   default-language:    Haskell2010
   ghc-options:         -Wall
 
diff --git a/test/autotool_project-compile_commands.json b/test/autotool_project-compile_commands.json
new file mode 100644
--- /dev/null
+++ b/test/autotool_project-compile_commands.json
@@ -0,0 +1,1646 @@
+[
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_BOEHM_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/liblolruntime_la-runtime.o", 
+            "runtime.c"
+        ], 
+        "directory": "/home/user/lol/metadata", 
+        "file": "runtime.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_SGEN_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/liblolruntimesgen_static_la-sysmath.o", 
+            "sysmath.c"
+        ], 
+        "directory": "/home/user/lol/metadata", 
+        "file": "sysmath.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_SGEN_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-o", 
+            "liblolsgen_static_la-sgen-internal.o", 
+            "sgen-internal.c"
+        ], 
+        "directory": "/home/user/lol/sgen", 
+        "file": "sgen-internal.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_SGEN_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/liblolruntimesgen_la-attach.o", 
+            "attach.c"
+        ], 
+        "directory": "/home/user/lol/metadata", 
+        "file": "attach.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-I../..", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-o", 
+            "sgen-grep-binprot-main.o", 
+            "sgen-grep-binprot-main.c"
+        ], 
+        "directory": "/home/user/tools/sgen", 
+        "file": "sgen-grep-binprot-main.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../../libgc/include", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-I../..", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-I/opt/lol-master/include", 
+            "-D_DEBUG", 
+            "-D_GNU_SOURCE", 
+            "-D__STDC_CONSTANT_MACROS", 
+            "-D__STDC_FORMAT_MACROS", 
+            "-D__STDC_LIMIT_MACROS", 
+            "-O3", 
+            "-fno-common", 
+            "-DLLVM_API_VERSION=4", 
+            "-fvisibility=hidden", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/libmini_static_la-mini-darwin.o", 
+            "mini-darwin.c"
+        ], 
+        "directory": "/home/user/lol/mini", 
+        "file": "mini-darwin.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_SGEN_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-o", 
+            "liblolruntimesgen_la-class-accessors.o", 
+            "class-accessors.c"
+        ], 
+        "directory": "/home/user/lol/metadata", 
+        "file": "class-accessors.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I..", 
+            "-I../lol/eglib", 
+            "-I../lol/eglib", 
+            "-I..", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-o", 
+            "syslog.o", 
+            "syslog.c"
+        ], 
+        "directory": "/home/user/support", 
+        "file": "syslog.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_SGEN_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/liblolruntimesgen_la-monitor.o", 
+            "monitor.c"
+        ], 
+        "directory": "/home/user/lol/metadata", 
+        "file": "monitor.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_BOEHM_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-o", 
+            "liblolruntime_la-monitor.o", 
+            "monitor.c"
+        ], 
+        "directory": "/home/user/lol/metadata", 
+        "file": "monitor.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_SGEN_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-o", 
+            "liblolruntimesgen_la-object.o", 
+            "object.c"
+        ], 
+        "directory": "/home/user/lol/metadata", 
+        "file": "object.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../../libgc/include", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-I../..", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-I/opt/lol-master/include", 
+            "-D_DEBUG", 
+            "-D_GNU_SOURCE", 
+            "-D__STDC_CONSTANT_MACROS", 
+            "-D__STDC_FORMAT_MACROS", 
+            "-D__STDC_LIMIT_MACROS", 
+            "-O3", 
+            "-fno-common", 
+            "-DLLVM_API_VERSION=4", 
+            "-fvisibility=hidden", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/libmini_static_la-trace.o", 
+            "trace.c"
+        ], 
+        "directory": "/home/user/lol/mini", 
+        "file": "trace.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_SGEN_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/liblolsgen_la-sgen-descriptor.o", 
+            "sgen-descriptor.c"
+        ], 
+        "directory": "/home/user/lol/sgen", 
+        "file": "sgen-descriptor.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_SGEN_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/liblolruntimesgen_la-cominterop.o", 
+            "cominterop.c"
+        ], 
+        "directory": "/home/user/lol/metadata", 
+        "file": "cominterop.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/lol-proclib.o", 
+            "lol-proclib.c"
+        ], 
+        "directory": "/home/user/lol/utils", 
+        "file": "lol-proclib.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/networking-posix.o", 
+            "networking-posix.c"
+        ], 
+        "directory": "/home/user/lol/utils", 
+        "file": "networking-posix.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_SGEN_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/liblolruntimesgen_static_la-attach.o", 
+            "attach.c"
+        ], 
+        "directory": "/home/user/lol/metadata", 
+        "file": "attach.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../..", 
+            "-I../../lol", 
+            "-I../../libgc/include", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-fvisibility=hidden", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-DHAVE_BOEHM_GC", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            ".libs/liblolruntime_la-assembly.o", 
+            "assembly.c"
+        ], 
+        "directory": "/home/user/lol/metadata", 
+        "file": "assembly.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../../libgc/include", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-I../..", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-I/opt/lol-master/include", 
+            "-D_DEBUG", 
+            "-D_GNU_SOURCE", 
+            "-D__STDC_CONSTANT_MACROS", 
+            "-D__STDC_FORMAT_MACROS", 
+            "-D__STDC_LIMIT_MACROS", 
+            "-O3", 
+            "-fno-common", 
+            "-DLLVM_API_VERSION=4", 
+            "-fvisibility=hidden", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-o", 
+            "libmini_la-method-to-ir.o", 
+            "method-to-ir.c"
+        ], 
+        "directory": "/home/user/lol/mini", 
+        "file": "method-to-ir.c"
+    }, 
+    {
+        "arguments": [
+            "cc", 
+            "-c", 
+            "-DHAVE_CONFIG_H", 
+            "-I.", 
+            "-I../..", 
+            "-I../../libgc/include", 
+            "-D_THREAD_SAFE", 
+            "-DGC_MACOSX_THREADS", 
+            "-DUSE_MMAP", 
+            "-DUSE_MUNMAP", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-I../..", 
+            "-I../../lol/eglib", 
+            "-I../../lol/eglib", 
+            "-I/opt/lol-master/include", 
+            "-D_DEBUG", 
+            "-D_GNU_SOURCE", 
+            "-D__STDC_CONSTANT_MACROS", 
+            "-D__STDC_FORMAT_MACROS", 
+            "-D__STDC_LIMIT_MACROS", 
+            "-O3", 
+            "-fno-common", 
+            "-DLLVM_API_VERSION=4", 
+            "-fvisibility=hidden", 
+            "-g", 
+            "-O2", 
+            "-std=gnu99", 
+            "-fno-strict-aliasing", 
+            "-fwrapv", 
+            "-DLOL_DLL_EXPORT", 
+            "-g", 
+            "-Wall", 
+            "-Wunused", 
+            "-Wmissing-prototypes", 
+            "-Wmissing-declarations", 
+            "-Wstrict-prototypes", 
+            "-Wmissing-prototypes", 
+            "-Wnested-externs", 
+            "-Wpointer-arith", 
+            "-Wno-cast-qual", 
+            "-Wwrite-strings", 
+            "-Wno-switch", 
+            "-Wno-switch-enum", 
+            "-Wno-unused-value", 
+            "-Wno-attributes", 
+            "-Wno-format-zero-length", 
+            "-Qunused-arguments", 
+            "-Wno-unused-function", 
+            "-Wno-tautological-compare", 
+            "-Wno-parentheses-equality", 
+            "-Wno-self-assign", 
+            "-Wno-return-stack-address", 
+            "-Wno-constant-logical-operand", 
+            "-Wno-zero-length-array", 
+            "-Werror-implicit-function-declaration", 
+            "-fPIC", 
+            "-DPIC", 
+            "-o", 
+            "interp/.libs/libmini_la-interp-stubs.o", 
+            "interp/interp-stubs.c"
+        ], 
+        "directory": "/home/user/lol/mini", 
+        "file": "interp/interp-stubs.c"
+    }
+]
diff --git a/test/smoke-test.hs b/test/smoke-test.hs
new file mode 100644
--- /dev/null
+++ b/test/smoke-test.hs
@@ -0,0 +1,31 @@
+module Main where
+
+import Data.Aeson (eitherDecode')
+import Data.Foldable (traverse_)
+import qualified Data.ByteString.Lazy as B
+
+import System.Exit (exitSuccess, exitFailure)
+
+import Clang.CompilationDatabase
+
+main :: IO ()
+main = do
+  let
+    f = [ "test/smoke-test.json"
+        , "test/autotool_project-compile_commands.json"
+        ]
+  (msgs, results) <- fmap unzip $ traverse smoketest f
+  traverse_ putStrLn msgs
+  if and results then exitSuccess else exitFailure
+
+smoketest :: FilePath -> IO (String, Bool)
+smoketest = \fp -> do
+  b <- B.readFile fp
+  let res = eitherDecode' b
+  return $ report fp res
+  where
+    report :: FilePath -> Either String CompilationDatabase -> (String, Bool)
+    report fp (Left err) = ("In " ++ fp ++ " got error: " ++ err, False)
+    report fp (Right db) = ("In " ++ fp ++ " got " ++ show (length db) ++ " compile commands", True)
+
+  
diff --git a/test/smoke-test.json b/test/smoke-test.json
new file mode 100644
--- /dev/null
+++ b/test/smoke-test.json
@@ -0,0 +1,7 @@
+[
+    {
+	"directory": "test",
+	"file": "foo.c",
+	"arguments": ["gcc", "-c", "-o", "foo.o", "foo.c"]
+    }
+]
