diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # libarchive
 
+## 1.0.5.1
+
+  * Add `cross` flag
+
 ## 1.0.5.0
 
   * Add facilities for lazy packing, e.g. `entriesToBSL`
diff --git a/libarchive.cabal b/libarchive.cabal
--- a/libarchive.cabal
+++ b/libarchive.cabal
@@ -1,6 +1,6 @@
 cabal-version: 1.18
 name: libarchive
-version: 1.0.5.0
+version: 1.0.5.1
 license: BSD3
 license-file: LICENSE
 copyright: Copyright: (c) 2018-2019 Vanessa McHale
@@ -22,13 +22,18 @@
     type: git
     location: https://github.com/vmchale/libarchive
 
+flag cross
+    description:
+        Set this flag if cross-compiling
+    default: False
+    manual: True
+
 library
     exposed-modules:
         Codec.Archive
         Codec.Archive.Foreign
         Codec.Archive.Foreign.Archive
         Codec.Archive.Foreign.ArchiveEntry
-    build-tools: c2hs >=0.19.1
     pkgconfig-depends: libarchive -any
     hs-source-dirs: src
     other-modules:
@@ -48,6 +53,9 @@
         composition-prelude -any,
         dlist -any,
         filepath -any
+
+    if !flag(cross)
+        build-tools: c2hs >=0.19.1
 
     if impl(ghc >=8.4)
         ghc-options: -Wmissing-export-lists
