Blob Blame History Raw
diff --git a/cmark.cabal b/cmark.cabal
index 48e4c0c..9156baf 100644
--- a/cmark.cabal
+++ b/cmark.cabal
@@ -48,6 +48,10 @@ Source-repository head
   type:              git
   location:          git://github.com/jgm/cmark-hs.git
 
+flag pkgconfig
+  default:     False
+  description: Use system libcmark via pkgconfig
+
 library
   exposed-modules:     CMark
   build-depends:       base >=4.5 && < 4.9,
@@ -57,28 +61,31 @@ library
     build-depends:     ghc-prim >= 0.2
   default-language:    Haskell2010
   ghc-options:         -Wall -fno-warn-unused-do-bind
-  cc-options:          -Wall -std=c99
-  Include-dirs:        cbits
-  Includes:            cmark.h
-  c-sources:           cbits/houdini_html_u.c
-                       cbits/references.c
-                       cbits/utf8.c
-                       cbits/inlines.c
-                       cbits/blocks.c
-                       cbits/cmark.c
-                       cbits/iterator.c
-                       cbits/node.c
-                       cbits/buffer.c
-                       cbits/cmark_ctype.c
-                       cbits/houdini_html_e.c
-                       cbits/houdini_href_e.c
-                       cbits/scanners.c
-                       cbits/html.c
-                       cbits/man.c
-                       cbits/commonmark.c
-                       cbits/latex.c
-                       cbits/xml.c
-                       cbits/render.c
+  if flag(pkgconfig)
+    pkgconfig-depends: libcmark
+  else
+    cc-options:          -Wall -std=c99
+    Include-dirs:        cbits
+    Includes:            cmark.h
+    c-sources:           cbits/houdini_html_u.c
+                         cbits/references.c
+                         cbits/utf8.c
+                         cbits/inlines.c
+                         cbits/blocks.c
+                         cbits/cmark.c
+                         cbits/iterator.c
+                         cbits/node.c
+                         cbits/buffer.c
+                         cbits/cmark_ctype.c
+                         cbits/houdini_html_e.c
+                         cbits/houdini_href_e.c
+                         cbits/scanners.c
+                         cbits/html.c
+                         cbits/man.c
+                         cbits/commonmark.c
+                         cbits/latex.c
+                         cbits/xml.c
+                         cbits/render.c
 
 benchmark bench-cmark
   type:             exitcode-stdio-1.0