Fix race condition in option_table.h generation by moving the include statement to those files that actually need it. This significantly reduces the number of dependencies, so it's no longer extremely ugly to specify them manually (see the src/pc80/Makefile.inc portion) Also, drop the AMD DBM690T work around for the issue. Signed-off-by: Stefan Reinauer Index: src/include/pc80/mc146818rtc.h =================================================================== --- src/include/pc80/mc146818rtc.h (revision 5761) +++ src/include/pc80/mc146818rtc.h (working copy) @@ -81,14 +81,6 @@ #define PC_CKS_RANGE_END 45 #define PC_CKS_LOC 46 -/* coreboot cmos checksum is usually only built over bytes 49..125 - * LB_CKS_RANGE_START, LB_CKS_RANGE_END and LB_CKS_LOC are defined - * in option_table.h - */ -#if CONFIG_HAVE_OPTION_TABLE -#include -#endif - #ifndef UTIL_BUILD_OPTION_TABLE #include static inline unsigned char cmos_read(unsigned char addr) Index: src/mainboard/amd/dbm690t/Kconfig =================================================================== --- src/mainboard/amd/dbm690t/Kconfig (revision 5761) +++ src/mainboard/amd/dbm690t/Kconfig (working copy) @@ -25,12 +25,6 @@ string default amd/dbm690t -# This is a temporary fix, and should be removed when the race condition for -# building option_table.h is fixed. -config WARNINGS_ARE_ERRORS - bool - default n - config DCACHE_RAM_BASE hex default 0xc8000 Index: src/pc80/mc146818rtc_early.c =================================================================== --- src/pc80/mc146818rtc_early.c (revision 5761) +++ src/pc80/mc146818rtc_early.c (working copy) @@ -1,6 +1,10 @@ #include #include +#if CONFIG_USE_OPTION_TABLE +#include +#endif + #ifndef CONFIG_MAX_REBOOT_CNT #error "CONFIG_MAX_REBOOT_CNT not defined" #endif Index: src/pc80/Makefile.inc =================================================================== --- src/pc80/Makefile.inc (revision 5761) +++ src/pc80/Makefile.inc (working copy) @@ -8,3 +8,4 @@ subdirs-y += vga $(obj)/pc80/mc146818rtc.o : $(OPTION_TABLE_H) +$(obj)/pc80/mc146818rtc_early.initobj.o : $(OPTION_TABLE_H) Index: src/pc80/mc146818rtc.c =================================================================== --- src/pc80/mc146818rtc.c (revision 5761) +++ src/pc80/mc146818rtc.c (working copy) @@ -2,6 +2,9 @@ #include #include #include +#if CONFIG_USE_OPTION_TABLE +#include +#endif /* control registers - Moto names */