diff --git a/.travis.yml b/.travis.yml
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,11 @@
 env:
+ - GHCVER=7.0.2 CABALVER=1.24
+ - GHCVER=7.2.2 CABALVER=1.24
  - GHCVER=7.4.2 CABALVER=1.16
  - GHCVER=7.6.3 CABALVER=1.16
  - GHCVER=7.8.4 CABALVER=1.18
  - GHCVER=7.10.1 CABALVER=1.22
+ - GHCVER=8.0.1 CABALVER=1.24
  - GHCVER=head CABALVER=head
 
 matrix:
diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,6 @@
+# 2.1.2
+* Support cross-compilation and unregistered GHC builds.
+
 # 2.1.1.1
 * Fixed typos in the documentation.
 
diff --git a/fast/Data/Reflection.hs b/fast/Data/Reflection.hs
--- a/fast/Data/Reflection.hs
+++ b/fast/Data/Reflection.hs
@@ -15,7 +15,12 @@
 #define USE_TYPE_LITS 1
 #endif
 #ifdef MIN_VERSION_template_haskell
+# if __GLASGOW_HASKELL__ >= 800
+-- TH-subset that works with stage1 & unregisterised GHCs
+{-# LANGUAGE TemplateHaskellQuotes #-}
+# else
 {-# LANGUAGE TemplateHaskell #-}
+# endif
 #endif
 
 {-# OPTIONS_GHC -fno-warn-orphans #-}
diff --git a/reflection.cabal b/reflection.cabal
--- a/reflection.cabal
+++ b/reflection.cabal
@@ -1,5 +1,5 @@
 name:           reflection
-version:        2.1.1.1
+version:        2.1.2
 license:        BSD3
 license-file:   LICENSE
 author:         Edward A. Kmett, Elliott Hird, Oleg Kiselyov and Chung-chieh Shan
@@ -73,6 +73,10 @@
   default-language: Haskell98
 
   if flag(template-haskell) && impl(ghc)
+    if !impl(ghc >= 8.0)
+      other-extensions: TemplateHaskell
+    -- else
+    --   other-extensions: TemplateHaskellQuotes -- Hackage doesn't know this extension yet
     build-depends: template-haskell
 
   if !flag(slow) && (impl(ghc) || impl(hugs))
