diff --git a/Seqaid/Prepro.hs b/Seqaid/Prepro.hs
--- a/Seqaid/Prepro.hs
+++ b/Seqaid/Prepro.hs
@@ -569,6 +569,12 @@
     let cppopts = intercalate " " cppopts_lst
     let ghcopts' = intercalate " " ghcopts_lst
 
+-- XXX Alternatively, could use a shell script to delegate, as done
+-- in leaky (to cope with this rogue).  But hopefully this suffices,
+-- and hackage resolves this undesireable situation with build reporting
+-- at which time we can simplify, and depend on build tools being
+-- installed in places from which they will be visible.
+
     in_sandbox <- detectSandbox
 
     i_am_misconfigured <- doesFileExist
diff --git a/changelog.txt b/changelog.txt
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,5 +1,11 @@
 
-0.2.1.1 -> 0.3.0.0
+0.3.0.0 -> 0.3.0.1
+ - still trying to decide on policy regarding cpphs
+ - this is all motivated by one pesky rogue anonymous build spammer
+ - had a spot of trouble over this, but learned a few tricks
+ - hopefully this upload is the ticket; sorry for the extra version uploads
+
+** 0.2.1.1 -> 0.3.0.0
  - deepseq-bounded major version bump
 
 0.2.1.0 -> 0.2.1.1
diff --git a/cpphs.sh b/cpphs.sh
new file mode 100644
--- /dev/null
+++ b/cpphs.sh
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+
+# (Hopefully that works on mingw32.)
+
+## #!/bin/sh
+
+# This is mostly to get rid of rogue failed build reports.
+# Not my fault I have to make things ugly to fix mistakes of
+# others (build reporters with misconfigured environemnts; and
+# hackage, for allowing this to smear a perfectly good library
+# by displaying the report so prominently, and making it
+# impossible for the maintainer to get rid of it or even
+# add an annotation).  I could have been doing something
+# constructive with this time.
+
+env PATH=$PATH:$HOME/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs --cpp $*
+
+if [ 0 ]; then
+
+if [ -f .cabal-sandbox/bin/cpphs ]; then
+  # Building in a sandbox, you want the sandbox's cpphs:
+  .cabal-sandbox/bin/cpphs --cpp $*
+elif [ $(which cpphs) ]; then
+  # Either cpphs was already on your path, or it was just installed and
+  # is seen on your path -- use this one:
+  cpphs --cpp $*
+elif [ -f $HOME/.cabal/bin/cpphs ]; then
+  $HOME/.cabal/bin/cpphs --cpp $*
+elif [ $(which cpp) ]; then
+  cpp $*
+else
+  echo 'ERROR: Neither cpphs nor cpp could be found!'
+  exit 1
+fi
+
+fi
+
diff --git a/seqaid.cabal b/seqaid.cabal
--- a/seqaid.cabal
+++ b/seqaid.cabal
@@ -2,7 +2,7 @@
 -------------------------------------------------------------------------------
 
 name:                seqaid
-version:             0.3.0.0
+version:             0.3.0.1
 synopsis:            Dynamic strictness control, including space leak repair
 license:             BSD3
 license-file:        LICENSE
@@ -40,6 +40,7 @@
     , release-announcement.txt
     , deepseq-bounded-seqaid-leaky.html
     , deepseq-bounded-seqaid-leaky.css
+    , cpphs.sh
 
 -- source-repository head
 --   type: git
@@ -142,16 +143,29 @@
 -- This does indeed work for me (it is auto-toggled when cpphs is unavailable).
 -- Default to False, since it seems more likely there's a native cpp, than
 -- that a cpphs installation works smoothly.
+-- Later: Defaulting to True, since found some tricks...
+-- (Not even going to let this be manual:false anymore.)
 Flag USE_CPPHS
   Description: Non-manual flag to allow the build system to try cpphs first, and if that fails, then to try system-wide cpp (typically GNU). I've actually toggled the default, so the build system will try for a system-wide cpp first, and failing that, will try to use cpphs, installing it if necessary. I prefer cpp. I am not getting my most invaluable -Wundef option with cpphs using -optP-Wundef -optP--cpp in my ghc-options. Does cpphs implement it? Not sure...
-  Default: False
---Default: True
-  Manual: False
+--Default: False
+  Default: True
+--Manual: False
+  Manual: True
 
 -------------------------------------------------------------------------------
 
 library {
 
+-- I feel like declaring this is only asking for more trouble;
+-- cpphs installs because it's mentioned as a dependency, and
+-- that does install both the library and the executable.
+---------
+--   build-tools: cpphs  
+--   -- (This seems /not/ to work, since, when USE_CPPHS is default:false,
+--   -- cpphs is still mentioned in the hackage deps.)
+-- --if flag(USE_CPPHS)
+-- --   build-tools: cpphs
+
   exposed-modules:
     Seqaid.Plugin
     Seqaid.Config
@@ -282,37 +296,22 @@
 --  , deepseq == 1.3.0.2
 
   ghc-options: -optP-Wundef -fno-warn-overlapping-patterns
-  ghc-options:                  -funbox-strict-fields -fwarn-tabs
---ghc-options:        -Wall -O2 -funbox-strict-fields -fwarn-tabs
+  ghc-options: -funbox-strict-fields -fwarn-tabs
+--ghc-options: -Wall
 
--- XXX Later yet: Nevertheless, cpphs is the best way to go,
--- since at least we always know we can install it!  Does it
--- work to add it to the build-depends?  Finding out...
--- (Only needs to work for Cabal-with-GHC-7.8 anyhow, as
--- seqaid is broken for GHC < 7.8 for some time to come anyway.)
--- XXX LATER: Dependence on cpphs has resulted in broken builds
--- (see hackage build reports for leaky, at least). So going to
--- factor out the string gaps...
-  -- The following extra options are to handle multiline String literals
-  -- in the presence of CPP
-  -- http://stackoverflow.com/questions/2549167/cpp-extension-and-multiline-literals-in-haskell
-  -- I prefer string gaps to unlines [ l1, l2, ... ] b/c then lines
-  -- can start at the left margin!
+  -- -ags+ 20150202
+--cpp-options: PATH=$PATH:.cabal-sandbox/bin:$HOME/.cabal/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs
+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs
+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs --cpp
+
   if flag(USE_CPPHS)
-     -- Which is most portable, a space after the P or not???
-     -- See the comment on the other branch of this Cabal "condition".
-     ghc-options: -pgmPcpphs -optP--cpp
+     ghc-options: -pgmP./cpphs.sh
+     -- -ags+ 20150202
+--   ghc-options: -pgmPenv -optP--cpp
+--   ghc-options: -pgmPenv
 --else
---   -- This is no longer needed, but SINCE WHEN?? i.e. for
---   -- which versions of GHC (and perhaps cabal-install)?...
---   -- Without a reasonable means to answer this question
---   -- (short of tracking down and scouring changelogs
---   -- in reverse chronological order), the conscientious
---   -- programmer has no recourse but to try to cover
---   -- all the bases.
---   --   But since recent cabal-install screams loudly about it,
---   -- better comment it out.
 --   ghc-options: -cpp
+--ghc-options: -pgmP/usr/bin/cpp
 
   if flag(SAI_FORK)
      cpp-options: -DSAI_FORK=1
@@ -383,6 +382,16 @@
 
 executable seqaid {
 
+-- I feel like declaring this is only asking for more trouble;
+-- cpphs installs because it's mentioned as a dependency, and
+-- that does install both the library and the executable.
+---------
+--   build-tools: cpphs  
+--   -- (This seems /not/ to work, since, when USE_CPPHS is default:false,
+--   -- cpphs is still mentioned in the hackage deps.)
+-- --if flag(USE_CPPHS)
+-- --   build-tools: cpphs
+
 -- It seems you cannot put the seqaid Main module in Seqaid.Main namespace?
   hs-source-dirs:     .
   main-is:            Seqaid/Demo.hs
@@ -408,11 +417,20 @@
 --ghc-options:        -Wall -O2 -funbox-strict-fields -fwarn-tabs -threaded
 
   ghc-options: -optP-Wundef -fno-warn-overlapping-patterns
-  -- [See comments in the library part above.]
+
+  -- -ags+ 20150202
+--cpp-options: PATH=$PATH:.cabal-sandbox/bin:$HOME/.cabal/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs
+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs
+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs --cpp
+
   if flag(USE_CPPHS)
-     ghc-options: -pgmPcpphs -optP--cpp
+     ghc-options: -pgmP./cpphs.sh
+     -- -ags+ 20150202
+--   ghc-options: -pgmPenv -optP--cpp
+--   ghc-options: -pgmPenv
 --else
 --   ghc-options: -cpp
+--ghc-options: -pgmP/usr/bin/cpp
 
 -- Test #ifdef mingw32_HOST_OS instead! (it's built-in to GHC)
 ------
@@ -435,6 +453,16 @@
 
 executable seqaidpp {
 
+-- I feel like declaring this is only asking for more trouble;
+-- cpphs installs because it's mentioned as a dependency, and
+-- that does install both the library and the executable.
+---------
+--   build-tools: cpphs  
+--   -- (This seems /not/ to work, since, when USE_CPPHS is default:false,
+--   -- cpphs is still mentioned in the hackage deps.)
+-- --if flag(USE_CPPHS)
+-- --   build-tools: cpphs
+
   hs-source-dirs:     .
   main-is:            Seqaid/Prepro.hs
   build-depends:
@@ -459,11 +487,20 @@
          cpphs >= 1.14
 
   ghc-options: -optP-Wundef -fno-warn-overlapping-patterns
-  -- [See comments in the library part above.]
+
+  -- -ags+ 20150202
+--cpp-options: PATH=$PATH:.cabal-sandbox/bin:$HOME/.cabal/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs
+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs
+--cpp-options: PATH=$PATH:~/.cabal/bin:.cabal-sandbox/bin:/home/builder/hackage-server/build-cache/tmp-install/bin cpphs --cpp
+
   if flag(USE_CPPHS)
-     ghc-options: -pgmPcpphs -optP--cpp
+     ghc-options: -pgmP./cpphs.sh
+     -- -ags+ 20150202
+--   ghc-options: -pgmPenv -optP--cpp
+--   ghc-options: -pgmPenv
 --else
 --   ghc-options: -cpp
+--ghc-options: -pgmP/usr/bin/cpp
 
   if flag(USE_CPPHS)
      cpp-options: -DUSE_CPPHS=1
