--- /dev/null
+++ m4/as-ac-expand.m4
@@ -0,0 +1,49 @@
+dnl as-ac-expand.m4 0.2.1
+dnl autostars m4 macro for expanding directories using configure's prefix
+dnl thomas@apestaart.org
+
+dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR)
+dnl example
+dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
+dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local
+dnl Note: when using $prefix or $exec_prefix, avoid it expanding to NONE
+dnl by calling it like this:
+dnl AS_AC_EXPAND(PYTHONLIBDIR, "\${exec_prefix}/lib/python$PYVER/site-packages")
+
+AC_DEFUN([AS_AC_EXPAND],
+[
+  EXP_VAR=[$1]
+  FROM_VAR=[$2]
+
+  dnl echo DEBUG: expand FROM_VAR $FROM_VAR
+
+  dnl first expand prefix and exec_prefix if necessary
+  prefix_save=$prefix
+  exec_prefix_save=$exec_prefix
+
+  dnl if no prefix given, then use /usr/local, the default prefix
+  if test "x$prefix" = "xNONE"; then
+    prefix="$ac_default_prefix"
+  fi
+  dnl if no exec_prefix given, then use prefix
+  if test "x$exec_prefix" = "xNONE"; then
+    exec_prefix=$prefix
+  fi
+
+  full_var="$FROM_VAR"
+  dnl loop until it doesn't change anymore
+  while true; do
+    dnl echo DEBUG: full_var: $full_var
+    new_full_var="`eval echo $full_var`"
+    if test "x$new_full_var" = "x$full_var"; then break; fi
+    full_var=$new_full_var
+  done
+
+  dnl clean up
+  full_var=$new_full_var
+  AC_SUBST([$1], "$full_var")
+
+  dnl restore prefix and exec_prefix
+  prefix=$prefix_save
+  exec_prefix=$exec_prefix_save
+])
--- configure.ac.orig
+++ configure.ac
@@ -655,7 +655,8 @@
 	prefix=/usr/local
 fi
 
-AC_DEFINE_UNQUOTED([CGMINER_PREFIX], ["$prefix/bin"], [Path to bfgminer install])
+AS_AC_EXPAND(DATAROOTDIR, $datarootdir)
+AC_DEFINE_UNQUOTED([CGMINER_PREFIX], ["$DATAROOTDIR/bfgminer"], [Path to bfgminer install])
 
 AC_DEFINE_UNQUOTED([PHATK_KERNNAME], ["phatk121016"], [Filename for phatk kernel])
 AC_DEFINE_UNQUOTED([POCLBM_KERNNAME], ["poclbm121016"], [Filename for poclbm kernel])
--- Makefile.am.orig
+++ Makefile.am
@@ -13,7 +13,7 @@
 
 bin_PROGRAMS	= bfgminer
 
-bin_SCRIPTS	= *.cl
+pkgdata_SCRIPTS	= *.cl
 
 bfgminer_LDFLAGS	= $(PTHREAD_FLAGS)
 bfgminer_LDADD	= $(DLOPEN_FLAGS) @LIBCURL_LIBS@ @JANSSON_LIBS@ @PTHREAD_LIBS@ \
@@ -117,19 +117,19 @@
 
 if HAS_MODMINER
 bfgminer_SOURCES += driver-modminer.c
-bitstreamsdir = $(bindir)/bitstreams
+bitstreamsdir = $(pkgdatadir)/bitstreams
 dist_bitstreams_DATA = bitstreams/*
 endif
 
 if HAS_X6500
 bfgminer_SOURCES += driver-x6500.c ft232r.c ft232r.h jtag.c jtag.h
-bitstreamsdir = $(bindir)/bitstreams
+bitstreamsdir = $(pkgdatadir)/bitstreams
 dist_bitstreams_DATA = bitstreams/*
 endif
 
 if HAS_ZTEX
 bfgminer_SOURCES += driver-ztex.c libztex.c libztex.h
-bitstreamsdir = $(bindir)/bitstreams
+bitstreamsdir = $(pkgdatadir)/bitstreams
 dist_bitstreams_DATA = bitstreams/*
 endif