diff options
Diffstat (limited to 'flashrom.c')
-rw-r--r-- | flashrom.c | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/flashrom.c b/flashrom.c index 8befab36c..db44c2f71 100644 --- a/flashrom.c +++ b/flashrom.c @@ -39,8 +39,37 @@ enum programmer programmer = PROGRAMMER_INTERNAL; #elif DUMMY_SUPPORT == 1 enum programmer programmer = PROGRAMMER_DUMMY; #else -/* Activating the #error explodes on make dep. */ -//#error Neither internal nor dummy selected +/* If neither internal nor dummy are selected, we must pick a sensible default. + * Since there is no reason to prefer a particular external programmer, we fail + * if more than one of them is selected. If only one is selected, it is clear + * that the user wants that one to become the default. + */ +#if NIC3COM_SUPPORT+GFXNVIDIA_SUPPORT+DRKAISER_SUPPORT+SATASII_SUPPORT+FT2232_SPI_SUPPORT+SERPROG_SUPPORT+BUSPIRATE_SPI_SUPPORT > 1 +#error Please enable either CONFIG_DUMMY or CONFIG_INTERNAL or disable support for all external programmers except one. +#endif +enum programmer programmer = +#if NIC3COM_SUPPORT == 1 + PROGRAMMER_NIC3COM +#endif +#if GFXNVIDIA_SUPPORT == 1 + PROGRAMMER_GFXNVIDIA +#endif +#if DRKAISER_SUPPORT == 1 + PROGRAMMER_DRKAISER +#endif +#if SATASII_SUPPORT == 1 + PROGRAMMER_SATASII +#endif +#if FT2232_SPI_SUPPORT == 1 + PROGRAMMER_FT2232SPI +#endif +#if SERPROG_SUPPORT == 1 + PROGRAMMER_SERPROG +#endif +#if BUSPIRATE_SPI_SUPPORT == 1 + PROGRAMMER_BUSPIRATESPI +#endif +; #endif char *programmer_param = NULL; |