Oh, oh. I tried to build with icarus and gekko support (following my own recipe above) and I got a compile error:
make[2]: Entering directory '/var/www/minera/minera-bin/src/cgminer-gekko'
CC cgminer-cgminer.o
cgminer.c:237:7: error: redefinition of opt_anu_freq
cgminer.c:229:7: note: previous definition of opt_anu_freq was here
cgminer.c:240:7: error: redefinition of opt_rock_freq
cgminer.c:232:7: note: previous definition of opt_rock_freq was here
Makefile:782: recipe for target 'cgminer-cgminer.o' failed
make[2]: *** [cgminer-cgminer.o] Error 1
Novak, could this be a copy/paste issue where a variable got reused without being renamed?
Turns out there were a couple of duplicate lines of code. I removed them and it compiles now.
Here's what the relevant section of cgminer.c code looks like without the duplicate lines:
#ifdef USE_ICARUS
char *opt_icarus_options = NULL;
char *opt_icarus_timing = NULL;
float opt_anu_freq = 250;
float opt_au3_freq = 225;
int opt_au3_volt = 775;
float opt_rock_freq = 270;
#endif
#ifdef USE_GEKKO
char *opt_gekko_options = NULL;
char *opt_gekko_timing = NULL;
float opt_compac_freq = 125;
#endif
bool opt_worktime;
EDIT: Unfortunately there are more build errors in usbutils.c. They're probably the same kind of thing. I'll take a look, but I might run out of time before I have to go to a dentist appointment.
Novak, since you're the author of these changes maybe it makes sense for you to try building with both icarus and gekko on. I'm sure you'll see the same compile problems. They should be simple to resolve.