diff --git a/compileTimeOptions.h b/compileTimeOptions.h
index 5218ac0465b927d93b5e9ae28e04eeb74d20b2ea..4ef5d52e7c6508c7d741330f5a66a857715fe80d 100644
--- a/compileTimeOptions.h
+++ b/compileTimeOptions.h
@@ -5,12 +5,18 @@ BOOL_OPTION(SAVE_MEMORY, 1)
 
 BOOL_OPTION(OPTIMIZED_MAPPINGS, 1)
 
+#ifndef MAX_EDGES
+#define MAX_EDGES 48
+#endif
+
+
 BOOL_OPTION(OPTIMIZE_COMBINE, 0)
 
 BOOL_OPTION(USE_NEXT_FORB, 1)
 
-#ifndef MAX_EDGES
-#define MAX_EDGES 48
-#endif
+BOOL_OPTION(EXPLICIT_NOMAL_EDGES, 0)
+REQUIRES(EXPLICIT_NORMAL_EDGES, USE_NEXT_FORB)
 
+BOOL_OPTION(USE_TWO_CUTS, 0)
+REQUIRES(USE_TWO_CUTS, USE_NEXT_FORB && EXPLICIT_NOMAL_EDGES)
 
diff --git a/generateCompileTimeOptions.sh b/generateCompileTimeOptions.sh
index 19c2de6c56c34e05f25dc54597e39900c7fe61e7..fd1c745df39a61ed78d3e8a1abad39d1a00ca0ca 100755
--- a/generateCompileTimeOptions.sh
+++ b/generateCompileTimeOptions.sh
@@ -14,6 +14,10 @@ sed -re 's/BOOL_OPTION\((.*), *(.*)\)/#ifndef \1\
 #else\
 #pragma message "\1 off"\
 #endif\
+/;
+s/REQUIRES\((.*), (.*)\)/#if (\1) \&\& !(\2)\
+#error "\1 requires \2"\
+#endif\
 /'
 
 cat <<EOF