diff --git a/src/fft_setup.cpp b/src/fft_setup.cpp
index b014ea7e9326e8db48c6c5bb0130eb65e503134e..6b23db1a599942e41eb698eb13a319f9dc9b6789 100644
--- a/src/fft_setup.cpp
+++ b/src/fft_setup.cpp
@@ -72,6 +72,10 @@
 #include <cmath>
 #include <limits.h>
 
+#ifndef CLFFT_COMPILE_OPTIONS
+#define CLFFT_COMPILE_OPTIONS "-cl-mad-enable -cl-single-precision-constant"
+#endif
+
 using namespace std;
 
 extern void getKernelWorkDimensions(cl_fft_plan *plan, cl_fft_kernel_info *kernelInfo, cl_int *batchSize, size_t *gWorkItems, size_t *lWorkItems);
@@ -434,7 +438,7 @@ patch_kernel_source:
         err = clGetDeviceInfo(devices[i], CL_DEVICE_TYPE, sizeof(device_type), &device_type, NULL);
         ERR_MACRO(err);
 
-        err = clBuildProgram(plan->program, 1, &devices[i], "-cl-mad-enable -cl-single-precision-constant", NULL, NULL);
+        err = clBuildProgram(plan->program, 1, &devices[i], CLFFT_COMPILE_OPTIONS, NULL, NULL);
         if (err != CL_SUCCESS)
         {
             char *build_log;